У меня есть решение Visual Studio (2017) С#, которое имеет следующую структуру:
Stateless
(название пакета - "Без состояния") DLLProject скрывает зависимость в своих интерфейсах, т.е. предполагается, что использование библиотеки Stateless
является деталью реализации DLLProject
.
ExeProject
доступ только к общедоступным интерфейсам и фабрикам DLLProject
.
По причинам, выходящим за рамки этого вопроса, ExeProject
ориентирован на .Net Framework 4.6.1
, а DLLProject
ориентирован на .Net Standard 2.0
.
Это компилируется нормально, но при отладке Stateless.dll
не найден исполняемым файлом.
Можно ли автоматически развертывать этот DLL при связывании с DLLProject
без добавления Stateless
зависимости NuGet к ExeProject
?
В .NET Core эти переходные зависимости NuGet работают автоматически.
В .NET Framework есть опция "Копировать локальный" для библиотек, на которые есть ссылки. Убедитесь, что для проблемного установлено значение True.
Обновить
Для вашего случая,.NET Framework App и .NET Standard lib, для установки требуется ручное изменение файла .c Framework app.csproj. Пожалуйста, следуйте: Скопируйте все зависимости из библиотек .Net Standard в консольное приложение .Net Framework.
ExeProject
. Это не так важно в приведенном мною минимальном примере, но в реальной задаче есть множество таких проблем.