# win_dotnet_ngen – Runs ngen to recompile DLLs after .NET updates

- Synopsis
- Notes
- Examples
- Return Values
- Status

## Synopsis

- After .NET framework is installed/updated, Windows will probably want to recompile things to optimise for the host.
- This happens via scheduled task, usually at some inopportune time.
- This module allows you to run this task on your own schedule, so you incur the CPU hit at some more convenient and controlled time.
- https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator#native-image-service
- http://blogs.msdn.com/b/dotnet/archive/2013/08/06/wondering-why-mscorsvw-exe-has-high-cpu-usage-you-can-speed-it-up.aspx

## Notes

Note

- There are in fact two scheduled tasks for ngen but they have no triggers so aren’t a problem.
- There’s no way to test if they’ve been completed.
- The stdout is quite likely to be several megabytes.

## Examples

    - name: Run ngen tasks
      win_dotnet_ngen:

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
dotnet_ngen64_eqi_exit_code integer | 64-bit ngen executable exists | The exit code after running the 64-bit ngen.exe executeQueuedItems command.
dotnet_ngen64_eqi_output string | 64-bit ngen executable exists | The stdout after running the 64-bit ngen.exe executeQueuedItems command. Sample: sample output
dotnet_ngen64_update_exit_code integer | 64-bit ngen executable exists | The exit code after running the 64-bit ngen.exe update /force command.
dotnet_ngen64_update_output string | 64-bit ngen executable exists | The stdout after running the 64-bit ngen.exe update /force command. Sample: sample output
dotnet_ngen_eqi_exit_code integer | 32-bit ngen executable exists | The exit code after running the 32-bit ngen.exe executeQueuedItems command.
dotnet_ngen_eqi_output string | 32-bit ngen executable exists | The stdout after running the 32-bit ngen.exe executeQueuedItems command. Sample: sample output
dotnet_ngen_update_exit_code integer | 32-bit ngen executable exists | The exit code after running the 32-bit ngen.exe update /force command.
dotnet_ngen_update_output string | 32-bit ngen executable exists | The stdout after running the 32-bit ngen.exe update /force command. Sample: sample output

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Peter Mounce (@petemounce)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.