Проблема, регистрирующая ChilkatDotNet4.dll к GAC

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

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

Я попытался копировать gacutil.exe (и вспомогательный файл) найденный в "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Инструменты" на моей локальной машине к папке "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 ошибок со следующим сообщением:

Система. 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\assembly\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 4. Когда я пытаюсь выполнить его предназначающийся для клиентского профиля, кажется что ни одна из Системы. Сеть* библиотеки доступна. Однако я пытался запустить очень простое тестовое приложение, предназначающееся для обоих, и ни один не будет работать на сервере при ссылке на плохой .dll.

Существует ли специальный вид установки, которая должна была произойти для выполнения.NET 4.0 Консольных Приложения?

13
задан fordareh 3 November 2011 в 02:55
поделиться

1 ответ

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

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

Для 2010 (.NET 4.0):

Если вы запускаете приложение x86 на 64-битной платформе. Обязательно отметьте пул приложений параметром "Enable 32-bit applications" = true.

35
ответ дан 1 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: