Предупреждение MSB3243 при попытке использовать две разные версии одной и той же DLL.C#

Место общения программистов C#
Ответить
Anonymous
 Предупреждение MSB3243 при попытке использовать две разные версии одной и той же DLL.

Сообщение Anonymous »

Из-за изменений в сторонней библиотеке я пытаюсь использовать две разные версии одной и той же DLL. Существует множество ссылок на это, например, эта, но они описывают немного разные решения для немного разных проблем, и, похоже, ни одна из них не имеет той проблемы, с которой я столкнулся.
Первая проблема Я столкнулся с тем, что добавление ссылки на вторую версию DLL в Visual Studio 2022 не работало, приводило к ошибке («Невозможно добавить ссылку на компонент. Ссылка на компонент «TallComponents.PDF.Rasterizer» уже существует). существует в проекте"). Поэтому вместо этого я напрямую отредактировал файл csproj следующим образом.

Код: Выделить всё

..\packages\TallComponents.PDFRasterizer4.4.0.39\lib\net46\TallComponents.PDF.Rasterizer.dll
TC4


bin\TC3\TallComponents.PDF.Rasterizer.dll
TC3

Затем код был изменен для использования псевдонима extern, чтобы использовать различные функциональные возможности двух версий библиотеки. Сборка прошла успешно, но появилось предупреждение MSB3243.

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\ amd64\Microsoft.Common.CurrentVersion.targets(2401,5): предупреждение MSB3243: невозможно разрешить конфликт между «TallComponents.PDF.Rasterizer, Version=4.0.39.0, Culture=neutral, PublicKeyToken=76bf2dedaa68ccb5» и «TallComponents.PDF» .Rasterizer, версия=3.0.188.0, культура=нейтральная, PublicKeyToken=76bf2dedaa68ccb5". Выбор «TallComponents.PDF.Rasterizer, Version=4.0.39.0, Culture=neutral, PublicKeyToken=76bf2dedaa68ccb5» произвольно.
5> Рассмотрите возможность переназначения app.config сборки «TallComponents.PDF.Rasterizer, Culture=neutral, PublicKeyToken=» 76bf2dedaa68ccb5» из версии «3.0.188.0» [C:\Dev\DelftRed\PL-1520_SlowFloorPlan\Plandroid\bin\TC3\TallComponents.PDF.Rasterizer.dll] до версии «4.0.39.0» [C:\Dev\DelftRed\ PL-1520_SlowFloorPlan\packages\TallComponents.PDFRasterizer4.4.0.39\lib\net46\TallComponents.PDF.Rasterizer.dll] для разрешения конфликта и избавления от предупреждений.

Приложение заработало и функционал на основе библиотеки 4 версии работал. Функциональность библиотеки версии 3 завершилась сбоем из-за ошибки «Метод не найден». Панель «Модули» в Visual Studio показала, что была загружена только 4-я версия dll.
Существуют также дополнительные шаги, которые, по-видимому, необходимы для работы двух версий одной и той же DLL. В частности, я изменил app.config следующим образом и убедился, что библиотеки DLL при выполнении находятся в правильных местах. Я ищу любую подсказку, которая поможет сделать это.

Подробнее здесь: https://stackoverflow.com/questions/791 ... e-same-dll
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»