.NET 4.0 GAC - Невозможно добавить DLL - PullRequest
2 голосов
/ 10 февраля 2012

Я использую пространство имен System.Windows.Forms.DataVisualization.Charting для создания Chart объекта в форме.Эта DLL не является частью базовой установки Windows, поэтому мне нужно будет включить ее в свой пакет, когда я распространю свое приложение.

Мне известно о новой версии GacUtil.exe , а также о том, что Gacutil.exe предназначен только для целей разработки и не должен использоваться для установки производственных сборок в глобальную сборку.cache. Давайте просто предположим, что у меня нет выбора в этом вопросе, и я должен сделать это таким образом из-за использования проприетарной системы распространения пакетов.=)

Редактирование / обновление: Во время выполнения 2.0, даже несмотря на то, что на некоторых ПК не было GacUtil.exe, присутствующего на предполагаемом установочном ПК, я мог удалить GacUtil.exe (версия 2.0)на ПК, и я мог тогда GAC любые дополнительные сборки, которые мне нужны.Это кажется проблемой во время выполнения 4.0.Несмотря на то, что я скопировал GacUtil.exe (4.0) на конечный ПК, я не получаю никаких отзывов при запуске его с нужной сборкой. Конец редактирования / обновления

Теперь на моем ПК (ПК для разработки) я могу без проблем добавить DLL в GAC: Command Prompt On My PC

Однако,на чистом ПК с Windows 7, с той же DLL и той же версией GacUtil.exe я получаю это: Command Prompt On Clean PC

Почему расхождение?Зависит ли новый GacUtil.exe от того, чего нет у этого ПК?

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Хорошо, я закончил тем, что две проблемы, одна из которых спорный пункт в конце

1002 * Проблема № 1:. Gacutil.exe (для CLR 4.0) имеет зависимости

Когда я копирую папку, в которой находится GacUtil.exe, проблема добавления сборки исчезает: Successful GAC on Clean PC

Однако это оказалось спорным вопросом, потому что хотяФайл был в 4.0 GAC на клиентском компьютере, у меня все еще был сбой.В тот момент я понял, что проблема была в том, что я не нацелен на 4.0 GAC - я нацеливаюсь на 2.0 GAC.Файл, который я пытался добавить в GAC все это время, был версией файла 4.0.Это была часть, которую я не понимал.

Проблема № 2: Существуют отдельные версии DLL GACable для версий 4.0 и 2.0, и они не имеют обратной совместимости

Я просто вернулся к своей машине для разработки и взял 3,5-версию DLL, о которой идет речь (System.Windows.Forms.DataVisualization), добавил ее в GAC 2.0 на клиентском ПК и предотвратил кризис.

0 голосов
/ 01 апреля 2014

Вы можете запустить 4.0 Gacutil из своей собственной папки, если добавите подпапку « 1033 » и включите файл gacutlrc.dll , который находится в той же подпапке. в стандартном месте.

...