2013-08-14 3 views
1

Я использую gacutil.exe для регистрации сборки в глобальном сборочном кэше (GAC). Моя DLL находится в корне моего C: диска:Как использовать gacutil.exe

C:\XYZ.dll 

Я попытался

gacutil.exe /i "C:\XYZ.dll" 

, но это дает мне следующую ошибку:

An attempt was made to load a program with incorrect format

Почему это?

+2

DLL, или GacUtil, вероятно, 64-битной и вы пытаетесь запустить команду на 32-битном компьютере. – jgauffin

+0

Пожалуйста, отметьте мой ответ, если это вам помогло. – Vikram

ответ

1

Ваша сборка должна быть строго обозначена для размещения в GAC. Вы назначили сильное имя для своей сборки. Вы можете задать, используя следующий синтаксис

SN –k MyDll.snk 
csc /keyfile:MyDll.snk XYZ.cs 

Или вы можете дополнительно подписать сборку с помощью Visual Studio, вы можете создать новый открытый/закрытый файл ключа, отображая свойства для вашего проекта, нажав на вкладку подписи, выбрав установите флажок «Подписать сборку», а затем выберите вариант из выпадающего списка «Выбрать сильный файл ключа имени». Этот метод подпишет сборку.

Вы найдете множество статей, где вы можете найти, почему сильное имя требуется для сборки

+1

Это другое сообщение об ошибке, явно указывающее, что DLL не подписана. – jgauffin

+0

@jgauffin Я отредактировал свой ответ, чтобы подписать сборку, используя VS – Vikram

Смежные вопросы