Принудительное использование другой версии DLL - PullRequest
0 голосов
/ 07 февраля 2019

У меня возникла проблема с .NET Core (2.2), которую я, вероятно, мог бы решить, если бы мог выполнять перенаправления привязки.

У меня есть 2 проекта в решении (ну, есть и другие,но они не имеют отношения):

Проект 1 ссылается на стороннюю DLL, назовем ее ThirdPartyABC.dll.

Проект 2 ссылается на другую стороннюю DLL от той же компании, назовем ее ThirdPartyXZY.dll

Проблема заключается в том, что ThirdPartyABC.dll также включает в себя и ссылается на копию ThirdPartyXYZ.dll -но «неправильная» версия (и более высокая версия).

Изначально они были установлены Nuget.В настоящее время у меня есть ссылки на двоичные файлы в попытке решить эту проблему.

MsBuild выдает мне ошибку MSB3277 "обнаруженные конфликты", а подробное ведение журнала показывает, что она действительно пытается использовать более высокую версию.Если я полностью удаляю более высокую версию и оставляю только более низкую версию, я получаю ошибку времени выполнения («не удалось загрузить файл или сборку»), как вы могли ожидать.Если я оставлю более высокую версию на месте, то, конечно, это версия, которая копируется в каталог bin, и это не то, что я хочу.

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

Буду благодарен за любые предложения.

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