NETSDK1100:將 EnableWindowsTargeting 屬性設定為 true

NETSDK1100 指出您要建置專案,而此專案鎖定 Linux 或 macOS 上的 Windows。 完整的錯誤訊息與下列範例類似:

若要在此作業系統上建置鎖定 Windows 的專案,請將 EnableWindowsTargeting 屬性設為 true。

若要解決此錯誤,請將 EnableWindowsTargeting 屬性設定為 true。 您可以在專案檔中進行設定,或將 /p:EnableWindowsTargeting=true 傳遞至 .NET CLI 命令,例如 dotnet build。 以下是範例專案檔:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <EnableWindowsTargeting>true</EnableWindowsTargeting>
  </PropertyGroup>
</Project>

如果您想要將此設定套用至整個方案或存放庫,則可以在 Directory.Build.props 檔案中進行設定。

根據預設,.NET 不管需不需要都會下載目前目標架構的所有目標套件 (以及適用於獨立組建的執行階段套件),因為它們可能是由可轉移架構參考所帶入。 我們不想將 Windows 目標套件隨附於非 Windows SDK 組建,但也不想要讓虛名主控台或 ASP.NET Core 應用程式在您第一次建置時自動下載這些目標和執行階段套件。 只有在您加入時,EnableWindowsTargeting 屬性才能對其進行下載。

另請參閱