首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么无法删除System.Drawing并用NuGet包System.Drawing.Common替换

为什么无法删除System.Drawing并用NuGet包System.Drawing.Common替换
EN

Stack Overflow用户
提问于 2019-02-28 23:10:54
回答 1查看 456关注 0票数 0

我正在尝试删除System.Drawing的框架引用,转而使用System.Drawing.Common的NuGet包

但是,当我从System.Drawing包管理器安装了System.Drawing.Common之后,当我删除NuGet时,我发现System.Drawing又回到了我的引用中。

我想删除它,只使用NuGet版本

这有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-28 23:20:26

使用fuget to look at the package's nuspec,我们可以看到以下内容:

代码语言:javascript
复制
<frameworkAssemblies>
  <frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
  <frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.6.1" />
  <frameworkAssembly assemblyName="System.Drawing" targetFramework=".NETFramework4.6.1" />
</frameworkAssemblies>

所以,这个包告诉NuGet需要System.Drawing

如果您正在使用packages.config将NuGet包导入到您的项目中,按照设计,工作方式是NuGet将告诉Visual Studio的项目系统在安装包时添加这些引用。因此,安装程序包将重新添加引用。

在PackageReference中使用NuGet包(需要Visual Studio2017,我记不清是哪个版本了,可能是15.2或更高版本,但可能在15.0中有效)不会做同样的事情。使用PackageReference,只将包引用添加到您的csproj中,然后通过构建系统自动处理传递依赖关系,而无需修改您的csproj。然而,并不是所有的项目类型都支持PackageReference (如前所述,VS2015和早期版本也不支持它)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54928749

复制
相关文章

相似问题

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