使用 IncludeAssets 的特定默认值创建 nuget 包

ste*_*fan 7 c# nuget nuget-package

我有一个类库,我想将其发布为 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>
Run Code Online (Sandbox Code Playgroud)

安装时,这变成

    <PackageReference Include="My.Package.Name" Version="1.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
Run Code Online (Sandbox Code Playgroud)

我希望它是

    <PackageReference Include="My.Package.Name" Version="1.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>compile; runtime</IncludeAssets>
    </PackageReference>
Run Code Online (Sandbox Code Playgroud)