Проходят ли транзитивные анализаторы/генераторы источников по умолчанию в .NET?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проходят ли транзитивные анализаторы/генераторы источников по умолчанию в .NET?

Сообщение Anonymous »

В официальной документации NuGet упоминается, что значением PrivateAssets по умолчанию (которое определяет, какие ресурсы не будут «переходить» в потребляющие проекты) для
— contentfiles;analyzers; build — посмотрите это; что, насколько я понимаю, должно означать, что по умолчанию, если:
  • Проект A ссылается на пакет B
  • Пакет B ссылается на пакет C, содержащий анализаторы/генераторы источников
    Тогда анализаторы/генераторы источников из C не будут передаваться в A.
Однако это не так, и это меня озадачивает. Вот минимальное воспроизведение: https://github.com/aradalvand/nuget-tra ... lyzer-test
Шаги по воспроизведению: Вот содержимое .nuspec ThePackage:
< pre class="lang-xml Prettyprint-override">

Код: Выделить всё



ThePackage
1.0.0
ThePackage
Package Description








Обратите внимание, исключают="Build,Analyzers".
Однако при запуске dotnet build на связанном воспроизведении выше, чтобы создать проект ConsumingThePackage, вы увидите, что генераторы исходного кода Mapperly (проект анализатора/генерации исходного кода, на который ссылается ThePackage) фактически выполняются для ConsumingThePackage. Это как раз противоречит тому, что предлагает ignore="Build,Analyzers".
Что мне не хватает?! Это чрезвычайно удивительно, учитывая то, что говорят документы.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ult-in-net
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»