Ich habe die project.json
einer Klassenbibliothek aktualisiert, um netstandard1.3
und net64
zu erreichen.
Mit dieser Änderung:
%Vor% Ich veröffentliche eine Bibliothek und muss wirklich auf netstandard1.3
/ net46
ausrichten.
Wie kann ich feststellen, warum stattdessen eine höhere Version verwendet wird?
Ich habe dies auf einem NuGet Problem verfolgt und @emgarten hat darauf hingewiesen, dass das NETStandard.Library
-Paket nur habe eine Version 1.6.0, aber diese Version 1.6.0 enthält Assemblies für netstandard1.3
.
In diesem Fall existiert die Version 1.3, die ich angefordert habe, nirgendwo und die Warnung ist eine Benachrichtigung, dass sie stattdessen eine höhere Version verwendet.
Die Diagnose könnte jedoch noch informativer sein. Sie können über das Problem abstimmen , wenn es Sie ebenfalls stört und Sie möchten, dass es klarer wird.
Wenn Sie nicht mit NuGet, aber in meinem Fall mit Ihren eigenen Projekten arbeiten, kann dieser Fehler auch auftreten.
Als erstes sollten Sie sicherstellen, dass Sie die korrekte Version in Solution Items -> global.json
haben.
Dann müssen Sie möglicherweise jedes project.json, das auf dieses Projekt verweist, aktualisieren, da VS2015 nicht immer korrekt aktualisiert wird:
Eine andere Möglichkeit zum Erzwingen einer Aktualisierung besteht darin, dotnet restore --no-cache
auf der Lösungs- oder Projektebene auszuführen.
Ich hatte dieses Problem, wenn ein gemeinsames Bibliotheksprojekt in mehr als einer Lösung war.
Der Verzeichnispfad des Bibliotheksprojekts wurde geändert und die Datei global.json wurde in einer einzigen Lösung aktualisiert.
In der anderen wurde die SLN-Datei für den neuen Speicherort des Projekts aktualisiert. Allerdings die global.json nicht. Da das Projekt in ein höheres Verzeichnis verschoben wurde, verweist die alte global.json-Datei auf einen bestimmten Speicherort.
Für mich funktionierte nur das Löschen der Sperrdatei ( project.lock.json
). Nach dem Löschen dieser Datei hat Nuget alle Pakete automatisch wiederhergestellt und das Problem ist verschwunden.
Haftungsausschluss
Obwohl es für mich funktionierte, bin ich mir nicht sicher, ob dies ein tiefgreifender Weg ist, Dinge zu tun, die für alle funktionieren. Bitte beachten Sie also, was Sie tun, bevor Sie diese Datei löschen.
Tags und Links .net .net-core project.json dotnet-restore