2010-06-12 3 views
0

Проект библиотеки компилируется для ЛЮБОГО ЦПУ в VS2008, запущенного на Win 7 64-битной.Попытка скомпилировать проект VS2008 на Win 64-bit, который является обычным Powershell PSSnapin

Теперь в пост сборки следующую команду не удается, когда attemptiong зарегистрировать библиотеки DLL:

PS C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727> \ InstallUtil C:. \ Путь \ Project.dll

произошло исключение при инициализации установки:

System.BadImageFormatException: не удалось загрузить файл или сборку «файла: /// C: \ путь \ Project.dll» или один из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом.

Нужно ли мне скомпилировать проект как x64 У меня создалось впечатление, что AnyCPU позаботится об этом.

У меня в моей библиотеке есть зависимости. Нужно ли их компилировать как x64 бит?

Любая помощь приветствуется.

ответ

0

В Windows 7 64-разрядная версия Powershell работает как 32-разрядное приложение и 64-разрядное приложение.

В проекте Snap-in необходимо указать 32-битную библиотеку System.Management.Automation, которая находится в C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ WindowsPowerShell \ v1.0 \ System.Management .Automation.dll , если Snap-in скомпилирован для запуска под Powershell (x86), который является 32-разрядным.

По умолчанию библиотека однако 64-разрядная и находится в C: \ Program Files \ Reference Сборка \ Microsoft \ WindowsPowerShell \ v1.0 \ System.Management.Automation.dll

можно не зарегистрировать 64-битный Powershell оснастки - в скомпилированной библиотеке через C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ installutil, которая 32-битная

и получит исключения из установочной утилиты и установки будет откатан.