![]() Therefore both need to be checked before loading the native one. If for example the source assembly changes, the native image is no longer used. ![]() The fact that both files are being accessed is expected, since the CLR will only use the native image as long as it's still in sync with the original assembly it was generated from. ![]() The "ni" stands for native image, and given that the mscorlib.dll assembly is so heavily used, it makes sense to make a native image out of it - mscorlib.ni.dll -, which the CLR will load instead of the "classical", mscorlib.dll one. Running the application and setting a filter to look for "mscorlib" file references only yields hits both for mscorlib.dll as well as mscorlib.ni.dll: ![]() Quite understandable, given that this assembly contains - among others - the core types. NET app, that only contains the Visual Studio's auto-generated and empty Main method.Īs per Jeffrey Richter's "CLR via C#" in the context of mscorlib.dll: " This assembly is automatically loaded when the CLR initializes".
0 Comments
Leave a Reply. |