Я пытаюсь измерить влияние на производительность NGENing моих сборок, а не нет, но я не могу получить свой исполняемый файл для загрузки сборок NGEN. Я запустил следующее из командной строки VS2010:
ngen install MyApp.exe
Это завершилось без проблем, и я убедился, что все мои сборки зависимостей были созданы в каталоге C: \ Windows \ assembly \ NativeImages_v4.0.30319_32 \ MyCompanyName #.
Затем я запустил свое приложение и, глядя на Process Explorer, загружал все мои сборки из локального каталога binaries вместо загрузки файлов * .ni.dll из папки NativeImages_x. Я зарегистрировал привязки, используя fuslogvw. Вот пример записи в журнале:
*** Assembly Binder Log Entry (6/29/2011 @ 10:14:04 AM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable C:\Path\To\My\Binaries\MyCompanyName.MyApp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = username
LOG: DisplayName = MyCompanyName.MyAssembly, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = file:///C:/Path/To/My/Binaries/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = MyCompanyName.MyApp.exe
Calling assembly : MyCompanyName.AnotherAssembly, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null.
===
LOG: Start binding of native image MyCompanyName.MyAssembly, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null.
WRN: No matching native image found.
LOG: IL assembly loaded from C:\Path\To\My\Binaries\MyCompanyName.MyAssembly.dll
У кого-нибудь есть мысли о том, что здесь происходит? Я проверил, что рассматриваемая нативная сборка существует по адресу:
C:\Windows\assembly\NativeImages_v4.0.30319_32\MyCompanyName#\3a041121abf7fbdce89836c32f2d217e\MyCompanyName.MyAssembly.ni.dll
Почему это не связывает это правильно? FWIW, приложение использует MEF совсем немного; Я не знаю, повлияет ли это на загрузку сборок.