— contentfiles;analyzers; build — посмотрите это; что, насколько я понимаю, должно означать, что по умолчанию, если:
- Проект A ссылается на пакет B
- Пакет B ссылается на пакет C, содержащий анализаторы/генераторы источников
Тогда анализаторы/генераторы источников из C не будут передаваться в A.
Шаги по воспроизведению:
Код: Выделить всё
git clone https://github.com/aradalvand/nuget-transitive-analyzer-test
Код: Выделить всё
dotnet build
< pre class="lang-xml Prettyprint-override">
Код: Выделить всё
ThePackage
1.0.0
ThePackage
Package Description
Однако при запуске dotnet build на связанном воспроизведении выше, чтобы создать проект ConsumingThePackage, вы увидите, что генераторы исходного кода Mapperly (проект анализатора/генерации исходного кода, на который ссылается ThePackage) фактически выполняются для ConsumingThePackage. Это как раз противоречит тому, что предлагает ignore="Build,Analyzers".
Что мне не хватает?! Это чрезвычайно удивительно, учитывая то, что говорят документы.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ult-in-net