Как автоматически развернуть C # DLL со скрытой зависимостью NuGet при смешивании .Net Standard и .Net Framework? - PullRequest
2 голосов
/ 18 апреля 2019

У меня есть решение Visual Studio (2017) C #, которое структурировано так:

  • Решение
    • ExeProject
    • DLLProject
      • NuGet-Зависимость от пакета Stateless ("имя без пакета" - это имя пакета)

DLLProject скрывает зависимость в своих интерфейсах, т.е.предполагается, что использование библиотеки Stateless является деталью реализации DLLProject.

. ExeProject имеет доступ только к общедоступным интерфейсам и фабрикам DLLProject.

По причинамкоторые выходят за рамки этого вопроса, ExeProject target .Net Framework 4.6.1, тогда как DLLProject target .Net Standard 2.0.

Компилируется нормально, но при отладке исполняемый файл не находит Stateless.dll.

Возможно ли автоматически развернуть эту DLL при связывании с DLLProject без добавления зависимости Stateless NuGet к ExeProject?

1 Ответ

1 голос
/ 18 апреля 2019

В .NET Core эти переходные зависимости NuGet работают автоматически.

В .NET Framework есть опция «Копировать локальный» для библиотек, на которые ссылаются.Убедитесь, что для проблемного установлено значение True.

Обновление

Для вашего случая .NET Framework App и .NET Standard lib, для установки требуется ручное управлениемодификация файла .csproj приложения .NET Framework.Пожалуйста, следуйте: Скопируйте все зависимости из библиотек .Net Standard в консольное приложение .Net Framework

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