Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>That's not a .NET error, it is a MS C Runtime (CRT, MSCRT) error.</p> <p>Your 3rd party dll is presumably using some MSCRT dll (there are lots of versions). At process start up of a native application the CRT is initialised (it contains the program entry point which then calls <code>main</code>). There is also an entry point for new threads to ensure per-thread data is set up correctly.</p> <p>If .NET 2 runtime<sup><a href="http://msdn.microsoft.com/en-us/library/kdzttdcb%28VS.71%29.aspx" rel="nofollow">1</a></sup> by default uses the same MSCRT as the native code then it will be correctly initialised. .NET 4 presumably uses a newer version (new MSCRT versions tend to come with new versions of VS, as .NET does) then the older MSCRT is only being loaded as a dependency and not used for application startup.</p> <p>Most of the time MSCT handles this correctly, but if the 3rd party dll is doing something "clever" it might be bypassing some initialisation, and this just happens to work is the same version of MSCRT is used by .NET. An example of such incorrect usage is to directly call <code>CreateThread</code> rather than using the MSCRT <a href="http://msdn.microsoft.com/en-us/library/kdzttdcb%28VS.71%29.aspx" rel="nofollow"><code>_beginthread</code></a> wrapper.</p> <p>To root cause this you will need sufficient understanding of the 3rd part dll and wrapper&mdash;more likely you need to supply a re-create to the third party for them to fix.</p> <hr> <p><sup><a href="http://msdn.microsoft.com/en-us/library/kdzttdcb%28VS.71%29.aspx" rel="nofollow">1</a></sup> Remember V3.5 is just extra assemblies on top of the 2.0 CLI.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload