删除 NuGet 包的依赖 NuGet 包

Removing a NuGet package's dependent NuGet packages

背景:

我正在为我的公司创建项目的 NuGet 包,然后这些 NuGet 包将安装到其他内部项目中。目前,我正在使用 .NET Standard/Core 项目的内置功能来完成它。这按预期工作,但是,我们所有的项目都安装了一个“包装 NuGet 包”以进行一些代码分析(StyleCop NuGet 包 + 公司特定的规则集文件和 Json 文件)。

如果我想将一个 NuGet 包(我创建的)安装到另一个项目中,它总是添加对我们的样式分析器 NuGet 包的依赖。

这是安装在项目中的样子:

问题:

有没有一种方法可以在创建 NuGet 包时删除对特定 NuGet 包的依赖?即有没有一种方法可以在(.csproj 文件)行中做一些事情:

<ItemGroup>
    <PackageReference Condition="'$(Configuration)'=='Debug'" Include="CompanyStyleAnalyzer" Version="1.1.6" />
</ItemGroup>

但是当我在“发布”配置中构建项目时,或者更好的是,每次 Dotnet 包是 运行,指定不在最终包中包含依赖项的内容。

这是一种“不受欢迎”的删除项目依赖项的方式吗?

我以前生成 NuGet 包的方法(在 .Net Framework 中)是使用 NuGet CLI - pack 命令,然后提取文件并编辑 .Nuspec 文件以手动删除依赖项。我不想编辑 Nuspec 文件并重新打包程序包。

任何人都可以具体说明我在这方面可以做什么吗?

根据@Ian-Kemp 的评论,这可以通过在 PackageReference:

下使用 the PrivateAssets element 来实现
<ItemGroup>
  <PackageReference Include="CompanyStyleAnalyzer" Version="1.1.6" />
    <PrivateAssets>all</PrivateAssets>
  </PackageReference>
</ItemGroup>