首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除NuGet包的依赖NuGet包

删除NuGet包的依赖NuGet包
EN

Stack Overflow用户
提问于 2020-11-11 20:17:39
回答 1查看 140关注 0票数 0

背景:

我正在为我的公司创建项目的NuGet包,这些NuGet包将被安装到其他内部项目。目前,我正在使用.NET标准/核心项目的内置功能。但是,我们所有的项目都安装了一个“包装器NuGet包”来进行一些代码分析(StyleCop NuGet包+公司特定的规则集文件和Json文件)。

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

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

问题:

有没有办法在创建NuGet包的时候,移除对特定NuGet包的依赖?也就是说,有没有一种方法可以在(.csproj文件)行中做一些事情:

代码语言:javascript
复制
<ItemGroup>
    <PackageReference Condition="'$(Configuration)'=='Debug'" Include="CompanyStyleAnalyzer" Version="1.1.6" />
</ItemGroup>

但是,当我在“发布”配置中构建项目时,我总是希望删除依赖项,而不是指定实际的版本,或者更好的是,每次运行Dotnet包时,指定不在最终包中包含依赖项。

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

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

有人能具体说明我在这方面能做些什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-20 06:43:53

根据@Ian-Kemp的评论,这可以通过在PackageReference下使用the PrivateAssets element来实现

代码语言:javascript
复制
<ItemGroup>
  <PackageReference Include="CompanyStyleAnalyzer" Version="1.1.6" />
    <PrivateAssets>all</PrivateAssets>
  </PackageReference>
</ItemGroup>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64786290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档