Развертывание нескольких программ, ссылающихся на одну DLL - PullRequest
2 голосов
/ 14 июня 2009

У нас есть много проектов, использующих interop & related dll ... все проекты имеют индивидуальную ссылку на dll с установкой, но в основном все они используют одну и ту же dll. Так что это много раз создает проблему, если какая-либо dll регистрируется / отменяется при установке / Unistalling установка.

Нам нужно разместить dll в одном месте, и все проекты должны использовать ссылку dll из этого места, чтобы избежать проблем с регистрацией / отменой регистрации. Но нам интересно, как фактическая ссылка находится в .net для зависимостей.

Подход

и выше может создать проблему, если изменилось местоположение установки или изменилось местоположение dll.

как мы можем это сделать? Лучшее решение или обходной путь для этого?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 19 июня 2009

Лично я хотел бы, чтобы все мои приложения включали в себя все библиотеки DLL, на которые есть ссылки по нескольким причинам:

  • Я могу выполнить чистую установку и удаление, чтобы удалить все следы моего приложения, не беспокоясь о том, что что-то сломалось
  • Если я внесу изменения в общую DLL, мне не придется беспокоиться о взломе других приложений

Но если вам действительно нужно одно местоположение, вы можете зарегистрировать DLL в глобальном кэше сборок. Если вы используете инструмент развертывания, такой как Wix, это довольно просто. В качестве альтернативы вы можете использовать пользовательское действие для регистрации в GAC

0 голосов
/ 14 июня 2009

Использование Объединение модулей : модули объединения обеспечивают стандартный метод, с помощью которого разработчики предоставляют общие компоненты установщика Windows и логику настройки для своего приложения. ...

Эта ссылка может быть полезной или просто Google для "модуля слияния проекта установки Visual Studio".

0 голосов
/ 14 июня 2009

Поместите dll сборки / взаимодействия в глобальный кэш сборок (GAC).

Ссылки:

Как развернуть неуправляемую dll в GAC
http://blogs.msdn.com/yizhang/archive/2007/06/17/how-to-deploy-unmanaged-dll-into-gac.aspx

Глобальный кэш сборок
http://msdn.microsoft.com/en-us/library/yf1d93sz.aspx

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