我正在尝试删除System.Drawing的框架引用,转而使用System.Drawing.Common的NuGet包
但是,当我从System.Drawing包管理器安装了System.Drawing.Common之后,当我删除NuGet时,我发现System.Drawing又回到了我的引用中。
我想删除它,只使用NuGet版本
这有可能吗?
发布于 2019-02-28 23:20:26
使用fuget to look at the package's nuspec,我们可以看到以下内容:
<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和早期版本也不支持它)。
https://stackoverflow.com/questions/54928749
复制相似问题