Ich möchte ein Klassenbibliotheksprojekt mit Target Framework .NET Standard 2.0 erstellen.
Ich habe meine Visual Studio 2017
Version aktualisiert 15.3
und auch im Visual Studio-Installationsprogramm überprüft .NET Framework 4.7 SDK
und .NET Framework 4.7 targeting pack
manuell überprüft .
Im .NET Standard 2.0
Kombinationsfeld Target Framework im Fenster Projekt / Anwendung gibt es noch keine Option. Also habe ich das TargetFramework-Tag in der .csproj
Datei manuell in geändert netstandard2.0
, aber nach dem Versuch, es zu erstellen, wird folgende Fehlermeldung angezeigt :
Das aktuelle .NET SDK unterstützt kein Targeting von .NET Standard 2.0. Wählen Sie entweder .NET Standard 1.6 oder niedriger aus oder verwenden Sie eine Version des .NET SDK, die .NET Standard 2.0 unterstützt.
global.json
Datei, die Ihr .NET Core SDK auf 1.x fixiert? Haben Sie das .NET Core 2.0 SDK separat installiert? (Ich würde erwarten , dass es in VS enthalten ist, aber es würde trotzdem nicht schaden, es zu installieren.)Antworten:
Es scheint, als hätte die Installation des VS2017-Updates für diese bestimmte Version nicht auch das .NET Core 2.0 SDK installiert. Das können Sie hier herunterladen .
Führen Sie aus, um zu überprüfen, welche Version des SDK bereits installiert ist
von der Kommandozeile. Beachten Sie, dass, wenn sich eine
global.json
Datei in Ihrem aktuellen Arbeitsverzeichnis oder einem Vorgängerverzeichnis befindet, diese überschreibt, welche Version des SDK ausgeführt wird. (Dies ist nützlich, wenn Sie beispielsweise eine bestimmte Version für ein Projekt erzwingen möchten.)Gemessen an Kommentaren, einige Versionen von VS2017 Updates tun den .NET Core - SDK installieren. Ich vermute, dass es im Laufe der Zeit etwas variieren kann.
quelle
während die obigen Antworten mein Problem nicht lösten. Ich habe es endlich gelöst, indem ich speziell auf diesen Link https://www.microsoft.com/net/download/visual-studio-sdks gegangen bin und das erforderliche SDK für Visual Studio heruntergeladen habe . Es war wirklich verwirrend und ich verstehe nicht warum, aber das hat mein Problem gelöst
quelle
Für mich bestand die Lösung darin, die Version so zu ändern
global.json
, dass sie der installierten Version entspricht .Wie die anderen sagten, läuft die Version
dotnet --info
in cmdDies:
Wurden:
Sie können die Datei global.json auch durch Ausführen erstellen
an der Wurzel des Projekts
quelle
global.json
Datei gefunden werden, wenn sie existieren würde?global.json
befindet sich neben der Lösungsdatei. Ich habe normalerweise als Lösungselement in die Lösung selbst aufgenommen. In meinen Experimenten stellte ich fest, dass das Ändern der Version ohne Schließen und erneutes Laden der Lösungglobal.json
zu seltsamen Erstellungsfehlern führen kann. Mein Kommentar gilt für VS2018, Version 15.9.2, mit .NET Core SDK 2.2.100..NET Core SDK looks for a global.json file in the current working directory ... or one of its parent directories
. Also wie eine Vererbungsdatei.Dies passiert manchmal, wenn ich versuche, meine alten Projekte zu öffnen. Was mir hilft, ist das Ändern des Projektziel-Frameworks. Gehen Sie zu Projekt -> Projektname Eigenschaften ... und ändern Sie das Zielframework in das von Ihnen installierte.
quelle
Das hat bei mir funktioniert
Verwenden Sie die Installation von Visual Studio
Aktivieren Sie auf der Registerkarte "Workloads" die Option ".Net Core plattformübergreifende Entwicklung" und klicken Sie auf "Ändern".
Vergessen Sie nicht, im linken Menü ".NET Core 2.0-Entwicklungstools" zu aktivieren.
Quelle
Hinweis
Ich habe den Asp Net Core zuvor installiert, wurde jedoch nicht in meinem Visual Studio angezeigt, kurz nachdem ich ihn mithilfe der Installation von Visual Studio installiert hatte.
quelle
Beim Upgrade von Visual Studio auf Version 15.5.1 wurde das .Net Core SDK auf 2.X aktualisiert, sodass dieser Fehler behoben wurde. Wenn ich renne
dotnet --info
, sehe ich jetzt Folgendes:quelle
Ich hatte dies gerade mit 15.8.3, nachdem ich einige .NET Core 1.x-Vorschau-SDKs deinstalliert hatte. Meine Anwendung wurde nicht kompiliert und zeigte den Fehler an.
Es wurde behoben, indem die neueste x86-Version des SDK installiert wurde, obwohl ich unter Windows 10 x64 bin.
Ich nehme an, das liegt daran, dass VS 2017 immer noch ein x86-Programm ist und obwohl die Programme als x64 ausgeführt werden, suchte der Compiler nach einem geeigneten x86-SDK
quelle
Ich hatte Installationen von Visual Studio 2019 und 2017. Ich habe versucht, das .NET Core 2.X SDK für VS2017 separat zu installieren, aber ohne Glück.
Das Problem ist, dass ich .NET Core 3.0 SDK als Standard-SDK-Version installiert habe , die VS2017 nicht mag.
Meine Lösung bestand darin, die SDK-Version für das jeweilige Projekt zu wechseln.
dotnet
Verwenden Sie jetzt die angegebene SDK-Version für diese Lösung.Ich habe keinen Weg gefunden, dies systemweit zu tun, ohne auch meine 3.0-Projekte durcheinander zu bringen.
quelle
Eigentlich passierte es mir entgegengesetzt zu anderen Antworten.
Ich habe das neueste .NET Core SDK installiert, bevor das Problem auftrat (3.0.0-Vorschau2 in meinem Fall) und nicht die neueste Version von Visual Studio (nicht sicher, ob dies einen Unterschied machen würde).
Also, die Lösung war nur , dass die neuesten .NET Core - SDK zu deinstallieren . (Dies ist nicht perfekt, wenn Sie es benötigen. Sie können also ein Upgrade von Visual Studio auf das neueste in Betracht ziehen, aber zumindest das laufende Problem wurde behoben.)
quelle
Ich habe gerade diese Schwierigkeiten durchgemacht. In meinem Fall hatte ich ein funktionierendes Skript
Heute habe ich genau diesen Fehler bekommen. Aber jetzt erinnere ich mich, dass ich VS2019 am Tag zuvor installiert habe. Sieht so aus, als hätte sich etwas für VS2017 geändert. Ich ging zu VS2017 Update, installierte die neueste Version / Update und es reparierte es wieder.
quelle
Ich hatte das gleiche Problem und habe die neueste Version von Microsoft Visual Studio Community 2017 Version 15.7.3
Ich habe gerade das neueste SDK 2.1 heruntergeladen und kein Targeting-Problem mehr. https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.301-windows-x64-installer
Info: Microsoft Visual Studio Community 2017 Version 15.7.3 VisualStudio.15.Release / 15.7.3 + 27703.2026 Microsoft .NET Framework Version 4.7.03056
Installierte Version: Community
C # Tools 2.8.3-beta6-62923-07. Commit-Hash: 7aafab561e449da50712e16c9e81742b8e7a2969 In der IDE verwendete C # -Komponenten. Abhängig von Ihrem Projekttyp und Ihren Einstellungen kann eine andere Version des Compilers verwendet werden.
Allgemeine Azure-Tools 1.10 Bietet allgemeine Dienste zur Verwendung durch Azure Mobile Services und Microsoft Azure Tools.
NuGet Package Manager 4.6.0 NuGet Package Manager in Visual Studio. Weitere Informationen zu NuGet finden Sie unter http://docs.nuget.org/. .
ProjectServicesPackage-Erweiterung 1.0 ProjectServicesPackage Visual Studio-Erweiterung Detaillierte Informationen
ResourcePackage-Erweiterung 1.0 ResourcePackage Visual Studio-Erweiterung Detaillierte Informationen
Visual Basic Tools 2.8.3-beta6-62923-07. Commit-Hash: 7aafab561e449da50712e16c9e81742b8e7a2969 In der IDE verwendete Visual Basic-Komponenten. Abhängig von Ihrem Projekttyp und Ihren Einstellungen kann eine andere Version des Compilers verwendet werden.
Visual Studio Code-Debug-Adapter-Hostpaket 1.0 Interop-Schicht zum Hosten von Visual Studio-Code-Debug-Adaptern in Visual Studio
Visual Studio-Tools für Unity 3.7.0.1 Visual Studio-Tools für Unity
quelle
Stellen Sie sicher, dass Sie das x86 SDK anstelle des x64 SDK für Visual Studio herunterladen.
quelle
Ich hatte das gleiche Problem wie das aktuelle .NET SDK, das das Targeting von .NET Core 3.1 nicht unterstützt. Wählen Sie entweder .NET Core 1.1 oder niedriger aus oder verwenden Sie eine Version des .NET SDK, die .NET Core 3.1 unterstützt
1) Stellen Sie sicher, dass das .Net Core SDK auf Ihrem Computer installiert ist. Laden Sie .NET herunter !
2) Stellen Sie die Umgebungsvariablen PATH wie folgt ein: Pfad
quelle
Ich hatte dieses Problem beim Versuch, meine Lösung in TFS zu erstellen. Wir haben die Aufgabe "Dot Net Publish" verwendet. Mit msbuild haben wir das Eis gebrochen.
quelle