Mitigation: New 64-bit JIT Compiler - .NET Framework (original) (raw)

Starting with .NET Framework 4.6, the runtime includes a new 64-bit JIT compiler for just-in-time compilation. This change does not affect compilation with the 32-bit JIT compiler.

Unexpected behavior or exceptions

In some cases, compilation with the new 64-bit JIT compiler results in a runtime exception or in behavior that is not observed when executing code compiled by the older 64-bit JIT compiler. The known differences include the following:

Important

All of these known issues have been addressed in the new 64-bit compiler released with the .NET Framework 4.6.2. Most have also been addressed in service releases of the .NET Framework 4.6 and 4.6.1 that are included with Windows Update. You can eliminate these issues by ensuring that your version of Windows is up to date, or by upgrading to the .NET Framework 4.6.2.

Mitigation of known issues

If you encounter the issues listed above, you can address them by doing any of the following:

Mitigation of other issues

If you encounter any other difference in behavior between code compiled with the older 64-bit compiler and the new 64-bit JIT compiler, or between the debug and release versions of your app that are both compiled with the new 64-bit JIT compiler, you can do the following to compile your app with the older 64-bit JIT compiler:

<?xml version ="1.0"?>  
<configuration>  
    <runtime>  
       <useLegacyJit enabled="1" />  
    </runtime>  
</configuration>  

You can also let us know about the problem by reporting a bug on Microsoft Connect.

See also