NETSDK1045: A jelenlegi .NET SDK nem támogatja az "újabb verziót" célként.

Ez a cikk a következőre vonatkozik: ✔️ .NET Core 2.1.100 SDK és újabb verziók

Ez a hiba akkor fordul elő, ha a buildelési eszközök nem találják a projekt létrehozásához szükséges .NET SDK verzióját. Ennek oka általában a .NET SDK telepítési vagy konfigurációs hibája. A teljes hibaüzenet a következő példához hasonló:

NETSDK1045: A jelenlegi .NET SDK nem támogatja az "újabb verziót" célként. A cél a "régebbi verzió" vagy az alacsonyabb, vagy használjon egy .NET SDK-verziót, amely támogatja az "újabb verziót".

A következő szakaszok a hiba lehetséges okait ismertetik. Ellenőrizze mindegyiket, és ellenőrizze, hogy melyik vonatkozik Önre. Ne feledje, hogy a környezet vagy a konfigurációs fájlok módosításakor előfordulhat, hogy újra kell indítania a parancsablakokat, újra kell indítania a Visual Studiót vagy újra kell indítania a gépet a módosítások érvénybe lépéséhez.

.NET SDK-verzió

Nyissa meg a projektfájlt (.csproj, .vbproj vagy .fsproj), és ellenőrizze a cél keretrendszert. Ez annak a keretrendszernek a verziója, amelyet az alkalmazás használni próbál.

<TargetFramework>netcoreapp3.0</TargetFramework>

Győződjön meg arról, hogy a felsorolt .NET-verzió telepítve van a gépen. A telepített verziókat a következő paranccsal listázhatja (nyisson meg egy fejlesztői parancssort, és futtassa ezt a parancsot):

dotnet --list-sdks

x86 vagy x64 architektúra

A .NET SDK minden verziója elérhető x86 és x64 architektúrában is. Előfordulhat, hogy a projekt nem a megfelelő architektúra .NET SDK-ját keresi, vagy a projekt által igényelt architektúrához tartozó .NET SDK nincs telepítve. Ellenőrizze a szükséges architektúra telepítési mappáit. Windows rendszeren például a .NET SDK x86-os verziója a C:\Program Files (x86)\dotnet, az x64 verzió pedig a C:\Program Files\dotnet mappában van telepítve. Tekintse meg , hogyan ellenőrizheti, hogy a .NET már telepítve van-e, és válassza ki az operációs rendszert, hogy megtudja, hogyan észlelheti a számítógépre telepített elemet.

Ha a szükséges verzió nincs telepítve, keresse meg a szükséges verziót a .NET Letöltések lapján.

Visual Studio-verzió

Előfordulhat, hogy a .NET SDK telepítve lett a Visual Studio 2022-vel, ezért előfordulhat, hogy a Visual Studio egy későbbi verziójára frissítve egy későbbi .NET SDK-t telepít, és megoldja ezt a hibát. További információ: Visual Studio frissítése.

Az előnézet nincs engedélyezve

Ha telepítve van a kért .NET SDK-verzió előzetes verziója, akkor a Visual Studióban is engedélyeznie kell az előnézetek engedélyezését. Nyissa meg az Eszközök>beállításai>környezet>előzetes verziójú funkcióit, és győződjön meg arról, hogy a .NET Core SDK előzetes verziójának használata jelölőnégyzet be van jelölve.

Visual Studio-verzió

A .NET Core 3.0-s és újabb verzióihoz például Visual Studio 2019 szükséges. Frissítsen a Visual Studio 2019 16.3-s vagy újabb verziójára a projekt létrehozásához.

PATH környezeti változó

A buildelési eszközök a PATH környezeti változóval keresik meg a .NET buildeszközök megfelelő verzióját. Ha a PATH környezeti változó közvetlen elérési utakat tartalmaz a régebbi buildelési eszközökhöz, ez a hibaüzenet jelenhet meg. Győződjön meg arról, hogy a PATH környezeti változóban a .NET-eszközök egyetlen elérési útja a legfelső szintű dotnet mappa, például C:\Program Files\dotnet. Helytelen ELÉRÉSI ÚT például a C:\Program Files\dotnet\2.1.0\sdks.

MSBuildSDKPath környezeti változó

Ellenőrizze az MSBuildSDKPath környezeti változót. Ezt az opcionális környezeti változót az MSBuild felismeri, és ha be van állítva, felülbírálja az alapértelmezett értéket. Lehet, hogy a .NET SDK egy adott régebbi verziójára van beállítva. Ha be van állítva, próbálja meg törölni és újraépíteni a projektet.

global.json fájl

Ellenőrizze, hogy van-e global.json fájl a projekt gyökérmappájában és a megoldásban, valamint a könyvtárláncot a kötet gyökeréhez, mivel az a mappastruktúrában bárhol lehet. Ha SDK-verziót tartalmaz, törölje a sdk csomópontot és annak összes gyermekét, vagy frissítse a kívánt újabb .NET Core-verzióra.

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

A global.json fájlra nincs szükség, ezért ha nem tartalmaz a csomóponton kívül sdk mást, törölheti a teljes fájlt.

Directory.build.props fájl

A Directory.build.props fájl egy választható MSBuild fájl, amely globális tulajdonságokat állíthat be. Ellenőrizze ezeket a fájlokat a megoldásmappában, és a könyvtárláncot a kötet gyökeréhez, mivel bárhol lehetnek a mappaszerkezetben. Keressen olyan TargetFramework elemeket vagy beállításokat MSBuildSDKPath , amelyek felülírhatják a kívánt beállításokat.

Lásd még