Каждая ссылка на проект ссылается на разные версии сборки - PullRequest
2 голосов
/ 04 марта 2010

У меня есть проект библиотеки классов, который ссылается на версию 4.1 Microsoft.Practices.Common dll. Я также ссылаюсь на стороннюю DLL, которая использует другую версию DLL Microsoft.Practices.Common.

Я создаю приложение для Windows, которое ссылается на обе эти DLL.

Я получаю сообщение об ошибке при запуске MSBUILD: «Нет способа разрешить конфликт между ....». Я предполагаю, что это потому, что он пытается собрать проекты и поместить все файлы в каталог \ bin, и так как файлы имеют одинаковые имена, он отображает это сообщение.

Проект собирается правильно, но автоматически («произвольно») выбирает 4.1 (более новую) версию Common DLL.

Проблема в том, что я не уверен, совместима ли сторонняя DLL с версией 4.1.

Мой вопрос: есть ли способ с помощью развертывания xcopy сохранить обе библиотеки DLL? Я хотел бы избежать GAC, если это возможно.

Кстати, мне нравится, что ни Visual Studio, ни MSBUILD не помечают это как предупреждение, а просто принимают другую версию:)

1 Ответ

1 голос
/ 04 марта 2010

Вы не можете xcopy развернуть две копии одной и той же библиотеки DLL в папку / bin.Если вы должны использовать оба, вам нужно будет зарегистрировать элементы в GAC, ИЛИ вы можете поиграть с путем privateprobing, чтобы сохранить их в подпапке папки / bin.

Однако, в идеале, в этом случае, чтобы избавить себя от хлопот, я бы порекомендовал просто использовать ту же версию, что и третья сторона.

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