Почему GetAssemblyName mscorlib создает исключение? - PullRequest
1 голос
/ 22 февраля 2012

Иметь приложение .NET 4 WinForms. Когда я пытаюсь сделать следующее: GetAssemblyName (@ "C: \ Windows \ Assembly \ NativeImages_v4.0.30319_64 \ mscorlib \ e0e5fbe72e8813a135fc878ff32b4bee \ mscorlib.ni.dll");

Я получаю знаменитое исключение "неверный формат". Что мне здесь не хватает?

Спасибо!

1 Ответ

3 голосов
/ 22 февраля 2012

Как видно из названия папки, файл mscorlib.ni.dll является нативным образом. Это код .NET, скомпилированный в собственный машинный код, поэтому он больше не является сборкой .NET, и поэтому вы не можете использовать его отражение. Почему вы пытаетесь это сделать? Путь используется внутри .NET Runtime.

РЕДАКТИРОВАТЬ: Если вы столкнулись с таким модулем, вам придется обрабатывать исключение и получать информацию о модуле по-разному. Либо вы придерживаетесь только имени файла, либо используете другие API, например System.Diagnostics.FileVersionInfo.GetVersionInfo для получения информации.

...