Я пытаюсь добавить .NET 4.0 .dll в GAC. Я пытаюсь сделать это, потому что он публикуется сторонней компанией как 32 и 64-разрядные .dll, которые я должен использовать из разных приложений на разных платформах в обоих форматах.Ошибка регистрации ChilkatDotNet4.dll в GAC
Во всяком случае, у меня возникла проблема с регистрацией этой DLL в GAC в среде Windows Server 2008.
Я попытался скопировать gacutil.exe (и поддерживающий файл) в папку «C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0» на моей локальной машине в папку " C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 "на целевом производственном сервере по найденным предложениям here.
Затем я попытался скопировать их в папку «C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319».
Выполняется с обоих мест, указав успешную установку. И действительно, регистрация появляется успешно:
- C: \ Windows \ Microsoft.NET \ сборка \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
- C: \ Windows \ Microsoft. NET \ сборка \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
Однако запуск консольного приложения, которое ссылается на (64-бит) версии DLL ошибок с следующим сообщением:
System.IO.FileNotFoundException: Может ли загрузить файл или сборку 'ChilkatDotNet4.dll' или одну из его зависимостей . Указанный модуль не найден. Имя файла:. «ChilkatDotNet4.dll»
Итак, я теперь вручную созданы следующие записи GAC с помощью MKDIR и скопировать из командной строки (которые могут или не могут реально работать, я не имею понятия, что не так особенного Gacutil.exe):
- C: \ Windows \ Microsoft.NET \ сборка \ GAC_MSIL \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll (с использованием 64-битной версии в DLL)
- C: \ Windows \ assembly \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
- C: \ Windows \ сборка \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
После каждого "установить" в DLL, я проверил и получил ту же ошибку. Любые идеи приветствуются!
EDIT: вопрос GAC выше, не может быть на самом деле преступник. Оказывается, даже когда я создаю новый проект Console App и добавляю .dll напрямую (чтобы он жил в корзине), я все еще не могу запустить его на сервере. Кроме того, я заметил, что приложения Консоли создаются с таргетингом на клиентский профиль .NET 4.0, а не .NET Framework 4. Когда я пытаюсь запустить его для таргетинга на профиль клиента, похоже, что ни одна из библиотек System.Web * не доступна , Тем не менее, я попытался запустить очень простое тестовое приложение для тестирования, и оба они не будут работать на сервере, ссылаясь на плохую .dll.
Существует ли особый вид установки для запуска приложений консоли .NET 4.0?
+1 Спасибо! –