![](/img/trans.png)
[英]Can my project reference an assembly targeting a lower version of .net framework?
[英]How to remove default/locked assembly reference from .NET SDK csproj that is targeting full .NET Framework?
我有一个新的 csproj 格式项目,它正在使用<TargetFramework.net472</TargetFramework>
(针对完整的 .NET 框架),它向项目添加了一组默认的不可变程序集引用(如屏幕截图所示)。
例如, 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>
以防万一有人仍在寻找答案:将DisableImplicitFrameworkReferences属性设置为 true,然后添加对实际需要的程序集的引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.