Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.