. NET Вывод с несколькими целями не содержит зависимостей - PullRequest
1 голос
/ 24 января 2020

Я работаю над библиотекой (MyLib), предназначенной для net стандарта 2.0 и. net базового приложения 3.0. Lib имеет зависимость (PrimaryDependency), которая, в свою очередь, имеет другую зависимость (OtherDependency), а OtherDependency использует Microsoft. Windows .Compatibility package:

MyLib
  PrimaryDependency
     OtherDependency (.NET Std 2.0, using Microsoft.Windows.Compatibility Nuget package)

Я написал два тестовых приложения с использованием MyLib. Один построен на. net 4.72, другой для .netcoreapp 3.1. Тестовому приложению net472 ничего не нужно от Microsoft. Windows .Compatibility (все это есть во время выполнения. NET). Таким образом, выходные данные содержат Tester.exe, MyLib.dll, PrimaryDependency.dll и OtherDependency.dll и работают нормально.

Выходные данные тестового приложения .netcore содержат Tester.exe, Tester.dll, MyLib. dll, PrimaryDependency.dll, OtherDependency.dll и несколько библиотек System. * и Microsoft. * (части от Microsoft. Windows .Compatibility, которые необходимы для запуска приложения), и это тоже отлично работает.

Теперь, если я скомпилирую (или опубликую sh) MyLib.dll, ни выходные данные netstandard2.0, ни выходные данные netcoreapp3.0 не содержат библиотек System. * И Microsoft. *, Которые необходимы для MyLib.dll. работать на. net core.

Поскольку MyLib.dll является плагином, конечный потребитель этой библиотеки не имеет проект MyLib в качестве ссылки, а следовательно, System. * и Microsoft. * Зависимости go отсутствуют. Что я могу сделать, чтобы при компиляции / публикации MyLib убедиться, что он содержит все необходимые зависимости?

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