Подтвердить что ты не робот

Как перенастроить версию сборки

Переход от отладки к выпуску приведет к тому, что устройство 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. Какова процедура переназначения версии сборки, как это было предложено предупреждением?

4b9b3361

Ответ 1

Ситуация у меня была:

{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}. Я счастлив с этим вариантом, кажется, проще.

Ответ 2

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