簡體   English   中英

如何從針對完整 .NET 框架的 .NET SDK csproj 中刪除默認/鎖定程序集引用?

[英]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>

默認情況下,新.net 4.7.2項目中未引用System.Drawing。

如果您引用它,則可以在需要時刪除引用

在此處輸入圖片說明

以防萬一有人仍在尋找答案:將DisableImplicitFrameworkReferences屬性設置為 true,然后添加對實際需要的程序集的引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM