Ich benutze VS 2015.
Ihr Projekt verweist nicht auf das Framework ".NETFramework, Version = 4.5". Fügen Sie im Abschnitt "Frameworks" Ihrer project.json einen Verweis auf ".NETFramework, Version = 4.5" hinzu und führen Sie die NuGet-Wiederherstellung erneut aus.
Kurz nach dem Hinzufügen zu meiner MVC-Ebene wird dieser Fehler auf meinen Ebenen "Datenzugriff" und "Geschäftslogik" angezeigt. Bis dahin lief alles gut, aber ich weiß nicht, was diesen Fehler ausgelöst hat. Hier ist mein project.json:
{
"version": "1.0.0-*",
"description": "foo bar Class Library",
"authors": [ "foo bar" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
Folgendes habe ich versucht:
- Ersetzen Sie "dotnet5.4" durch "net451" (und löschen Sie es), wie in dieser Antwort gefunden .
Ergebnis ist der gleiche Fehler.
- Ersetzen Sie "dotnet5.4" durch "net45" und verlassen Sie "net451". Dies führt zu einem neuen Fehler:
Ihre project.json hat keinen Laufzeitbereich. Sie sollten '"runtimes": {"win": {}}' zu Ihrer project.json hinzufügen und dann die NuGet-Wiederherstellung erneut ausführen.
Ich habe versucht, den Fehler zu beheben und hinzuzufügen
"runtimes": {
"win": {}
},
Dies brachte mir diesen Fehler, an dem ich scheinbar nicht vorbeikomme:
Ihre project.json listet 'win' nicht als gezielte Laufzeit auf. Sie sollten '"win": {}' in Ihrem Abschnitt "runtimes" in Ihrer project.json hinzufügen und dann die NuGet-Wiederherstellung erneut ausführen.
Ich habe bereits "win" hinzugefügt, und dies fühlt sich allmählich wie ein roter Hering an. Was mache ich, um die project.json direkt zu ändern? Behandelt NuGet das nicht?
quelle
Antworten:
Ich habe das Problem gerade erst herausgefunden. Am Ende habe ich auf
Restore Nuget Packages
Lösungsebene geklickt und es geschafft, meine zu kompilierenPCL
Datei und dann den Rest meiner Lösung .Hoffe das hilft.
quelle
Ich hatte das gleiche Problem und musste nicht nur den Inhalt
bin
und dieobj
Ordner löschen , sondern auch das.vs
Verzeichnis für die Lösung.quelle
Ich hatte das gleiche Problem - dies tritt immer noch mit Visual Studio 2017.3 auf, das .csproj-Dateien anstelle von project.json verwendet. Interessanterweise enthält die Fehlermeldung immer noch den Text "project.json".
Es scheint, dass die Ursache für dieses Problem eine Sperrdatei oder
obj\project.assets.json
-datei (abhängig von Ihrer VS-Version) aus einem früheren Build ist, die während einer Bereinigung nicht entfernt wird, wie hier beschrieben .Das manuelle Löschen des
/obj
Verzeichnisses ist eine schnelle Problemumgehung.Wenn Sie ein "neues" Projekt (z. B. .NET Core- oder Netstandard-Projekt, das in VS 2017 erstellt wurde) und ein "altes" Projekt im selben Verzeichnis haben (z. B. .NET 4.6-Projekt, das in VS 2015 erstellt wurde), werden sie anscheinend ständig kämpfen, weil Beide verwenden das
./obj
Verzeichnis auf unterschiedliche Weise. Mehr Infos hier. .Die Problemumgehung für msbuild besteht darin, dass eines Ihrer Projekte ein anderes
obj
Verzeichnis verwendet. Ich habe dies zu meinem "alten" csproj hinzugefügt:quelle
Ich fand heraus, dass ein Schurken project.lock.json dieses Problem für mich verursachte. Nachdem ich die Datei gelöscht hatte, verschwand das Problem.
Hier finden Sie eine Dokumentation zu project.lock.json.
Einige weitere Ratschläge wären, sicherzustellen, dass project.lock.json in Ihrer git-Ignorierdatei ignoriert wird, und eine vollständige git-Bereinigung zu versuchen. Stellen Sie sicher, dass Sie die Auswirkungen einer Git-Bereinigung verstehen, bevor Sie dies tun.
quelle
Ich hatte das gleiche Problem nach dem Update auf Visual Studio für Mac 7.4 (Build 1033):
Ich habe keine JSON-Projektdateien. Die Tipps hier haben auch nicht geholfen, daher musste ich herausfinden, wie schwierig es war, das neueste Android SDK (Oreo 8.1) zusätzlich zu meinem Ziel-SDK (Nougat 7.1) zu installieren.
quelle
Ich habe das gleiche Problem, aber ich habe es gelöst, indem ich die richtige Nugget-Paketressource an
vs2017-->tools-->options-->Nugetpacakge manager--->updated
der richtigen Paket-URL hinzugefügt habe .Siehe Bild unten
quelle