Создайте пакет nuget с указанием c значения по умолчанию для IncludeAssets - PullRequest
1 голос
/ 08 мая 2020

У меня есть библиотека классов, которую я хочу опубликовать sh как пакет nuget. Он содержит некоторые атрибуты, необходимые во время компиляции (для правильной работы анализатора), но его не нужно включать транзитивно, т.е. <PrivateAssets>all</PrivateAssets> должен быть включен в ссылке на пакет. Я знаю, что этого можно достичь с помощью <DevelopmentDependency>true</DevelopmentDependency>, однако он также устанавливает <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>, что мне не нужно. Мне нужно, чтобы значение по умолчанию было <IncludeAssets>compile; runtime</IncludeAssets>.

Как я могу изменить свой пакет, чтобы иметь правильное значение по умолчанию?

Текущее состояние определения пакета:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <DevelopmentDependency>true</DevelopmentDependency>
    <!--some more values like package id, version, etc.-->
  </PropertyGroup>
</Project>

При установке это становится

    <PackageReference Include="My.Package.Name" Version="1.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>

Я бы хотел, чтобы это было

    <PackageReference Include="My.Package.Name" Version="1.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>compile; runtime</IncludeAssets>
    </PackageReference>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...