У меня есть библиотека классов, которую я хочу опубликовать 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>