Ich versuche, ein Asp.Net Core RC1-Projekt auf RC2 zu migrieren. Ich habe diese Dokumentation befolgt und auch die Anweisungen für die DNX-Migration auf .NET CLI befolgt.
Beim Versuch wird folgende Fehlermeldung angezeigt dotnet run
:
Das Laufzeitziel für das Framework '.NETCoreAPP, Version = v1.0' kann nicht gefunden werden und ist mit einer der Ziellaufzeiten kompatibel: 'win10-x64, win81-x64, win8-x64, win7-x64'. Mögliche Ursachen:
- Das Projekt wurde nicht wiederhergestellt oder die Wiederherstellung ist fehlgeschlagen. Führen Sie 'dotnet restore' aus.
- Das Projekt listet in den 'Laufzeiten' keine der Optionen 'win10-x64, win81-x64, win7-x64' auf.
Ich bin gelaufen dotnet restore
und es scheint erfolgreich abgeschlossen zu sein.
Ich habe alle relevanten Pakete auf RC2 aktualisiert.
Ich habe diesen Fehler erhalten, nachdem ich die VS2015-Kernvorlage auf 1.0.1 aktualisiert habe. Das lag daran, dass ich eine PCL habe, die darauf abzielt,
netstandard 1.4
wenn Sie nicht jede Laufzeit angeben müssen. Ändern Sie einfach das Abhängigkeits-Markup für FolgendesMicrosoft.NETCore.App
:quelle
In project.json habe ich Folgendes geändert (Typ hinzugefügt):
Jetzt kann ich wieder bauen :-)
Update: Jetzt kann ich die Website wieder erstellen, aber nicht "ausführen".
Sie müssen sicherstellen, dass Sie die Laufzeit und SDK auch haben:
https://www.microsoft.com/net/download/core#/current
quelle
Ich habe diesen Fehler erhalten, weil ich den unglaublich kaputten NuGet Package Manager in Visual Studio 2015 verwendet habe, um meine project.json-Abhängigkeiten zu aktualisieren. Es drehte sich dies:
das mögen:
Tschüss, Plattformdefinition!
quelle
Wenn Sie diese beiden Links lesen:
Zunächst https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli
und
zweitens https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
Sie werden sehen, dass Sie eine vollständig portable Version mithilfe des folgenden Snippets im Abhängigkeitsstammelement in project.json erstellen können. Es ist nicht erforderlich, Laufzeiten anzugeben, da dies eine Laufzeit auf CORE-Ebene ist, die plattformunabhängig sein sollte oder als "Framework-abhängig" bezeichnet wird.
oder Sie können für mehrere Zielplattformen ("eigenständige Anwendungen") erstellen, indem Sie das Element type: platform wie folgt entfernen:
Fügen Sie dies dem Stammelement für Abhängigkeiten in project.json hinzu
und fügen Sie dies als neues Element auf Stammebene hinzu
Für mehrere Zielvorgaben müssen Sie Plattformnamen angeben, die als ".NET Core Runtime IDentifiers (RID)" bezeichnet werden. Eine Liste dieser Namen finden Sie unter dem zweiten Link oben. Es enthält viele Varianten von Windows, Linux und OS X.
Um einen guten Überblick über die verschiedenen Bereitstellungsoptionen zu erhalten, können Sie auch diese Seite lesen:
https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index
Über den obigen Link:
quelle
In meinem Fall hatte ich gerade alle Nuget-Pakete auf die neuesten Versionen aktualisiert und Nuget hat meinen Paketverweis "Microsoft.NETCore.App" wie folgt geändert:
Ich habe es wieder in die folgende Form geändert und alles hat gut funktioniert:
Auf Wiedersehen 3 Stunden meines Lebens ....
quelle
Wenn Sie ein neues Dotnet ausführen und sich das Ausgabeprojekt json ansehen, werden Sie feststellen, dass sich die Moniker geändert haben.
Nehmen Sie die Änderungen an Ihrer project.json wie folgt vor:
quelle
Ich habe einen nützlichen Link aus dem Kommentar von svick auf der folgenden Seite gefunden: https://github.com/dotnet/cli/issues/2442
quelle
Ich habe festgestellt, dass Sie in project.json Folgendes benötigen. Folgendes war erforderlich, um meinen Fehler zu beheben:
Abhängigkeiten
Frameworks
Laufzeit
Möglicherweise möchten Sie Laufzeiten hinzufügen, wenn Sie in IIS veröffentlichen möchten. Bitte sehen Sie etwas wie folgt:
Hier ist ein allgemeiner Tipp, der für mich gut funktioniert hat. Wenn meine Sachen kaputt gehen, erstelle ich manchmal eine Standard-ASP.NET Core-Anwendung, entweder die Website oder eine leere Web-API, um die Abhängigkeiten in project.json und anderswo zu untersuchen. Auf diese Weise kann man oft viele Dinge fangen. Die obigen Antworten sind genau richtig, aber ich dachte, ich würde dies hier schreiben, falls jemand die Logik im allgemeinen Vorlagenformat, das ASP.NET Core verwendet, stärker trennen möchte.
quelle
In Windows 7 mit VS 2015 änderte die Lösung nach dem Update auf netcore 1.1.2 die Datei project.json wie folgt:
Nach dem Ändern werden die Abhängigkeiten aktualisiert und Viola.
quelle