Вопрос

Я пытаюсь добавить .NET 4.0 .dll в GAC. Я пытаюсь сделать это, потому что он опубликован 3-й партийной компанией как 32, так и 64 бит .dll, которую я должен использовать из разных приложений на разных платформах в обоих форматах.

В любом случае, у меня возникают проблемы с регистрацией этого DLL в GAC в среде Windows Server 2008.

Я попытался копировать gacutil.exe (и подтверждающий файл), найденный по адресу "C: Program Files (x86) Microsoft SDKS Windows V7.0a Bin Netfx 4.0 Tools" на моей локальной машине на "C: Windows Microsoft.net framework v4.0.30319 "Папка на целевом производственном сервере согласно найденным предложениям здесь.

Затем я попробовал скопировать их на «C: Windows Microsoft.net framework64 v4.0.30319».

Запуск из обоих мест указал на успешную установку. И действительно, регистрация кажется успешной:

  • C: Windows Microsoft.net Assembly Gac_64 Chilkatdotnet4 v4.0_9.0.8.0__eb5fc1fc52ef09bd chilkatdotnet4.dll
  • C: Windows Microsoft.net Assembly 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 Assembly GAC_MSIL Chilkatdotnet4 v4.0_9.0.8.0__eb5fc1fc52ef09bd chilkatdotnet4.dll (с помощью 64 -битной версии DLL)
  • C: Windows assusion gac_64 chilkatdotnet4 v4.0_9.0.8.0__eb5fc1fc52ef09bd chilkatdotnet4.dll
  • C: Windows Assembly Gac_32 Chilkatdotnet4 v4.0_9.0.8.0__eb5fc1fc52ef09bd chilkatdotnet4.dll

После каждой «установки» DLL я протестировал и получил ту же ошибку. Любые идеи приветствуются!


РЕДАКТИРОВАТЬ: Выпуск GAC выше, может на самом деле не быть виновником. Оказывается, даже когда я создаю совершенно новый проект приложения для консоли и добавить .dll напрямую (так что он живет в корзине), я до сих пор не могу запустить его на Север. Кроме того, я отметил, что приложения для консоли создаются нацеливание клиентского профиля .NET 4.0, а не на .NET Framework 4. Когда я стараюсь запустить его нацеливание на профиль клиента, кажется, что ни один из библиотек System.Web * Отказ Тем не менее, я пытался запустить очень просто Испытайте приложение, ориентируясь на обоих, так и не запустится на сервере во время ссылки на плохое .dll.

Есть ли особый вид установки, которая должна была произойти для запуска приложений .NET 4.0 Console Apps?

Это было полезно?

Решение

Для всех, кто может возникнуть проблемы с этим в будущем. Это была не обобщенная проблема с тем, как я регистрировал DLL в GAC или как я имею в виду его из моих проектов.

Chilkatdotnet4.dll (и другие версии я уверен) был построен в Visual C ++. Таким образом, сервер развернут, чтобы иметь значение RUDTION C ++, установленную для соответствующей архитектуры процессора.

За 2010 год (.net 4.0):

Если вы запускаете приложение X86 на 64-битной платформе. Обязательно отметьте пул приложений с помощью «Включить 32-битные приложения» = True.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top