Udostępnij za pośrednictwem


NETSDK1045: bieżący zestaw .NET SDK nie obsługuje "nowszej wersji" jako elementu docelowego.

Ten artykuł dotyczy: ✔️ .NET Core 2.1.100 SDK i nowsze wersje

Ten błąd występuje, gdy narzędzia kompilacji nie mogą znaleźć wersji zestawu SDK platformy .NET potrzebnej do skompilowania projektu. Jest to zwykle spowodowane problemem z instalacją lub konfiguracją zestawu .NET SDK. Pełny komunikat o błędzie jest podobny do następującego przykładu:

NETSDK1045: bieżący zestaw .NET SDK nie obsługuje "nowszej wersji" jako elementu docelowego. Docelowa wersja "starsza" lub starsza albo użyj wersji zestawu SDK platformy .NET, która obsługuje "nowszą wersję".

W poniższych sekcjach opisano niektóre z możliwych przyczyn tego błędu. Sprawdź każdy z nich i sprawdź, który z nich dotyczy. Pamiętaj, że podczas wprowadzania zmian w środowisku lub plikach konfiguracji może być konieczne ponowne uruchomienie okien poleceń, ponowne uruchomienie programu Visual Studio lub ponowne uruchomienie maszyny, aby zmiany zaczęły obowiązywać.

Wersja zestawu .NET SDK

Otwórz plik projektu (csproj, vbproj lub .fsproj) i sprawdź strukturę docelową. Jest to wersja platformy, której aplikacja próbuje użyć.

<TargetFramework>netcoreapp3.0</TargetFramework>

Upewnij się, że na maszynie zainstalowano wersję platformy .NET. Aby wyświetlić listę zainstalowanych wersji, użyj następującego polecenia (otwórz wiersz polecenia dla deweloperów i uruchom następujące polecenie):

dotnet --list-sdks

Architektura x86 lub x64

Każda wersja zestawu .NET SDK jest dostępna zarówno w architekturze x86, jak i x64. Projekt może próbować znaleźć zestaw .NET SDK dla nieprawidłowej architektury lub zestaw .NET SDK dla architektury, której potrzebuje projekt, może nie zostać zainstalowany. Sprawdź foldery instalacyjne dla potrzebnej architektury. Na przykład w systemie Windows wersja x86 zestawu .NET SDK jest zainstalowana w folderze C:\Program Files (x86)\dotnet , a wersja x64 jest zainstalowana w folderze C:\Program Files\dotnet. Zobacz Jak sprawdzić, czy platforma .NET jest już zainstalowana , i wybrać system operacyjny, aby dowiedzieć się, jak wykryć, co jest zainstalowane na maszynie.

Jeśli potrzebna wersja nie jest zainstalowana, znajdź ją na stronie Pliki do pobrania platformy .NET.

Wersja programu Visual Studio

Zestaw .NET SDK mógł zostać zainstalowany w programie Visual Studio 2022, więc uaktualnienie do nowszej wersji programu Visual Studio może zainstalować nowszy zestaw .NET SDK i rozwiązać ten błąd. Aby uzyskać więcej informacji, zobacz Aktualizowanie programu Visual Studio.

Podgląd nie jest włączony

Jeśli masz zainstalowaną wersję zapoznawcza żądanego zestawu .NET SDK, należy również ustawić opcję włączania wersji zapoznawczej w programie Visual Studio. Przejdź do pozycji Narzędzia>Opcje>Funkcje środowiska>w wersji zapoznawczej i upewnij się, że zaznaczono opcję Użyj wersji zapoznawczej zestawu .NET Core SDK.

Wersja programu Visual Studio

Na przykład platforma .NET Core 3.0 lub nowsza wymagają programu Visual Studio 2019. Przeprowadź uaktualnienie do programu Visual Studio 2019 w wersji 16.3 lub nowszej, aby skompilować projekt.

Zmienna środowiskowa PATH

Narzędzia kompilacji używają zmiennej środowiskowej PATH, aby znaleźć odpowiednią wersję narzędzi kompilacji platformy .NET. Jeśli zmienna środowiskowa PATH zawiera bezpośrednie ścieżki do starszych narzędzi kompilacji, może zostać wyświetlony ten komunikat o błędzie. Upewnij się, że jedyną ścieżką do narzędzi platformy .NET w zmiennej środowiskowej PATH jest folder dotnet najwyższego poziomu, na przykład C:\Program Files\dotnet. Przykład nieprawidłowej ścieżki będzie podobny do C:\Program Files\dotnet\2.1.0\sdks.

ZMIENNA środowiskowa MSBuildSDKPath

Sprawdź zmienną środowiskową MSBuildSDKPath. Ta opcjonalna zmienna środowiskowa jest rozpoznawana przez program MSBuild i jeśli jest ustawiona, zastępuje wartość domyślną. Może być ustawiona na określoną starszą wersję zestawu .NET SDK. Jeśli został ustawiony, spróbuj go usunąć i ponownie skompilować projekt.

plik global.json

Sprawdź plik global.json w folderze głównym w projekcie i w rozwiązaniu oraz łańcuch katalogów do katalogu głównego woluminu, ponieważ może znajdować się w dowolnym miejscu w strukturze folderów. Jeśli zawiera wersję zestawu SDK, usuń sdk węzeł i wszystkie jego elementy podrzędne lub zaktualizuj go do żądanej nowszej wersji platformy .NET Core.

{
  "sdk": {
    "version": "2.1.0"
  }
}

Plik global.json nie jest wymagany, więc jeśli nie zawiera niczego innego niż sdk węzeł, możesz usunąć cały plik.

Plik Directory.build.props

Plik Directory.build.props jest opcjonalnym plikiem MSBuild, który może ustawiać właściwości globalne. Sprawdź te pliki w folderze rozwiązania i w górę łańcuch katalogów do katalogu głównego woluminu, ponieważ mogą znajdować się w dowolnym miejscu w strukturze folderów. TargetFramework Poszukaj elementów lub ustawieńMSBuildSDKPath, które mogą zastąpić żądane ustawienia.

Zobacz też