Регистрация той же версии сборки, но с разными целевыми структурами для 2 GAC - PullRequest
0 голосов
/ 17 августа 2011

Я заметил, что можно зарегистрировать, например, v1.0.0.0 сборки с помощью GACUtil для GAC в C: \ Windows \ assembly, если целевая сборка v3.5 .Net Framework И также удаетсязарегистрируйте ту же версию v1.0.0.0, если сборка нацелена на v4 .Net Framework для GAC по адресу C: \ Windows \ Microsoft.NET \ assembly.

В результате получаются 2 сборки с одинаковой версиейв разных GAC.

Эта функция полезна, поскольку я хотел бы, чтобы клиенты, использующие старый GAC (C: \ Windows \ assembly), видели v1.0.0.0 сборки без обновления своего app.config доtarget v4 платформы.

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

ПРЕДУПРЕЖДЕНИЕ: два или более объекта имеютодно и то же целевое местоположение ('[gac] X \ 1.0.0.0_2752785e627d5953 \ X.dll') ПРЕДУПРЕЖДЕНИЕ. Два или более объекта имеют одинаковое целевое местоположение ('[gac] X \ 1.0.0.0_2752785e627d5953 \ X.dll')

Если я разделюв 2 отдельных проекта (один предназначен для v3.5, другой - для v4) и запускаются оба установщика, только один экземпляр сборки зарегистрирован в одном из GAC (не в обоих, который достигается GACUtil).

У меня естьне удалось найти способ добиться этого с помощью проекта setup / msi.Является ли это возможным?

1 Ответ

0 голосов
/ 20 февраля 2012

Использование gacutil таким образом, по-видимому, подразумевает, что мы можем нацеливать различные сборки для сборки, устанавливать их в соответствующий GAC, что означает отсутствие каких-либо изменений для клиента.Однако проект MSI установки / развертывания не допускает этого.

Кроме того, когда вы используете GACUtil для просмотра записи GAC для сборки, в списке отображается только одна;в нем не указано, в каком GAC он находится. Поэтому кажется, что тот факт, что вы можете зарегистрировать одну и ту же версию сборки в GAC v2 и v4 с помощью GACUtil, не означает, что вы должны это делать.Кроме того, GACUtil - это инструмент разработки , и его не следует использовать для развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...