我有一个新的csproj格式项目,它使用<TargetFramework>net472</TargetFramework>
(面向完整的.NET Framework),它向项目添加了一组默认的不可变程序集引用(如屏幕截图所示)。
例如,System.Drawing
已锁定,无法删除。
是的,我知道,如果我不使用System.Drawing
中的任何类,它实际上就不会被引用。
但是,有没有办法删除/忽略/隐藏它?
我已经尝试过alias
技巧来隐藏它:
<Reference Update="System.Drawing">
<Aliases>excluded</Aliases>
<Private>false</Private>
</Reference>
不管用。
我并不反对System.Drawing
本身-但是,如果我有另一个程序集,它导出具有完全相同的命名空间和名称的类型-如何“隐藏”现有的引用呢?
更新:csproj看起来像这样:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
</Project>
2条答案
按热度按时间kkbh8khc1#
以防有人还在寻找答案:将DisableImplicitFrameworkReferences属性设置为true,然后添加对实际需要的程序集的引用。
hgb9j2n62#
默认情况下,新的.net 4.7.2项目中不引用System.Drawing。
如果你引用它,你可以删除引用时,你想要它