Udostępnij za pośrednictwem


NETSDK1100: ustaw właściwość EnableWindowsTargeting na true

NETSDK1100 wskazuje, że tworzysz projekt przeznaczony dla systemu Windows w systemie Linux lub macOS. Pełny komunikat o błędzie jest podobny do następującego przykładu:

Aby utworzyć projekt przeznaczony dla systemu Windows w tym systemie operacyjnym, ustaw EnableWindowsTargeting właściwość na wartość true.

Aby rozwiązać ten błąd, ustaw EnableWindowsTargeting właściwość na true. Można go ustawić w pliku projektu lub przekazując /p:EnableWindowsTargeting=true polecenie interfejsu wiersza polecenia platformy .NET, takie jak dotnet build. Oto przykładowy plik projektu:

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

Jeśli chcesz zastosować to ustawienie do całego rozwiązania lub repozytorium, możesz ustawić je w pliku Directory.Build.props .

Domyślnie platforma .NET pobiera wszystkie pakiety docelowe (i pakiety środowiska uruchomieniowego dla kompilacji samodzielnie zawartych) dla bieżącej platformy docelowej, niezależnie od tego, czy są one potrzebne, czy nie, ponieważ mogą być wprowadzane przez przechodnią strukturę referencyjną. Nie chcieliśmy dostarczać pakietów docelowych systemu Windows z kompilacjami zestawu SDK innych niż Windows, ale nie chcieliśmy również, aby konsola waniliowa ani aplikacja ASP.NET Core automatycznie pobierała te pakiety określania wartości docelowej i pakietów środowiska uruchomieniowego podczas pierwszej kompilacji. Właściwość EnableWindowsTargeting umożliwia ich pobieranie tylko wtedy, gdy wyrazisz zgodę.

Zobacz też