У меня есть решение, которое содержит проект Web API, который ссылается на несколько других проектов.Там есть еще один проект, который содержит несколько функций Azure и несколько проектов для старых устаревших рабочих ролей.
Связывание перенаправлений, и Nuget был проклятием моего существования.Я получаю много ошибок зависимостей, которые, кажется, различаются в зависимости от того, на какой платформе я запускаю свою программу:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies
Мое лучшее предположение после некоторых исследований состоит в том, что Web API загружает первый набор библиотек DLL, используя егособственные правила перенаправления привязки, и если другому проекту требуется другая DLL, как указано в другом перенаправлении привязки, он не может найти ее и завершается ошибкой.
Я обнаружил, что смог исправить свой проект, объединив все свои пакеты nuget и приведя все перенаправления привязки в соответствие с перенаправлениями привязки Web API ... однако теперь, похоже, все работает, кроме тестов VSTS, которые продолжаютгенерировать FileNotFoundException для библиотек DLL.
Итак, вместо того, чтобы просто попросить SO исправить мой проект для меня (и это будет сложно, так как он настолько большой), меня больше интересует , что такое правило большого пальца для большихпроекты, как у меня, которые имеют кучу проблем с зависимостями?Например, должны ли все перенаправления связывания быть одинаковыми или нормально, если они различаются?Должен ли я организовать свои зависимости другим способом?Что бы вы сделали, чтобы распутать это?