Как переназначить версию сборки - PullRequest
12 голосов
/ 24 августа 2011

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

Target ResolveAssemblyReferences:

Рассмотрим переопределение app.config сборки "Ivi.Visa.Interop, Культура = нейтральная, PublicKeyToken = a128c98f1d7717c1 "из версии "3.0.0.0" [] до версии "3.2.0.0" [dll \ Ivi.Visa.Interop.dll] для решения конфликт и избавиться от предупреждения. C: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets: предупреждение MSB3247: обнаружены конфликты между различными версиями та же зависимая сборка.

Ссылочные свойства Ivi.Visa.Interop в проекте VS2008 указывают, что dll является версией 3.2.0.0. Как переназначить версию сборки в соответствии с предупреждением?

Ответы [ 2 ]

1 голос
/ 11 ноября 2015

Ситуация, с которой я столкнулся, была:

{Final Class Library}<-{Dependent Class Library}<-{Referenced DLL}

У {Referenced DLL} было несколько совпадений GAC PublicKeyToken.

Таким образом, компиляция {Final Class Library} проигнорировала версию, указанную в {Dependent Class Library}, и использовала самое высокое значение Version=.Это было с выводами No way to resolve conflict between и Choosing ... arbitrarily и т. Д.

Вместо привязки сборки я просто добавил ссылку в {Final Class Library} на {Referenced DLL}.Я доволен этой опцией, она кажется проще.

1 голос
/ 24 августа 2011

Предупреждение «Обнаружены конфликты между разными версиями одной и той же зависимой сборки». подразумевает, что в вашем проекте есть несколько сборок, ссылающихся на разные заглушки COM-взаимодействия - я бы предложил выбрать одну (при условии, что поставщик библиотеки не предоставил первичную сборку взаимодействия) и изменить все ссылки на ссылку на эту сборку взаимодействия (вместо добавления ссылок на библиотека COM повсюду)

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