2017-06-13 4 views
2

Ich versuche, die Nuget-Referenzen einiger Projekte von der Befehlszeile zu aktualisieren. Diese Projekte verwenden das neue Format, das PackageReference-Elemente enthält. Der Befehl ich verwende ist:nupet.exe Update mit neuem csproj-Format

nuget.exe update someproj.csproj 

Dies führt zu einem Fehler:

The default XML namespace of the project must be the MSBuild XML namespace. 
If the project is authored in the MSBuild 2003 format, please add 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the <Project> 
element. If the project has been authored in the old 1.0 or 1.2 format, 
please convert it to MSBuild 2003 format. 

Gibt es eine Möglichkeit nuget.exe zu verwenden oder dotnet.exe Pakete von der Befehlszeile zu aktualisieren?

+0

Welche Version von nuget.exe haben Sie? –

+0

nugget v 3.4.4.1321 – user653649

Antwort

2

Sie benötigen Version> = 4 von nuget.exe, um mit dem neuen csproj-Format zu arbeiten.

aber Sie werden immer noch den alten Stil packages.config verwenden müssen, oder Sie werden die folgende Ausgabe

C:\dev>nuget.exe update test.csproj 
MSBuild auto-detection: using msbuild version '15.1.548.43366' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\bin'. 
Unable to update. The project does not contain a packages.config file. 

auch immer Sie die Powershell Commandlets

Update-Package 

Diese laufen können verwendet werden möglicherweise in der Lage bekommen aus der Paketmanager-Konsole (https://docs.microsoft.com/en-us/nuget/tools/package-manager-console).

Sie können auch in der Powershell-Modul laden Sie einfach und führen Sie den folgenden

Import-Module PackageManagement.Cmdlets.dll 

Set-Project MySolution "MySolution.sln" 

Update-Package 

Weitere Informationen dazu finden Sie in diesem Blog finden - http://community.sharpdevelop.net/blogs/mattward/archive/2011/06/12/InstallingNuGetPackagesOutsideVisualStudio.aspx

+0

Ich verstehe, dass dieser Befehl Pakete wiederherstellt. Ich möchte meine Paketreferenzen auf den neuesten Stand bringen. – user653649

+0

Sorry mein Fehler, wie wäre es mit Powershell 'Update-Package' versuchen –

+0

Ich dachte über die Verwendung von Update-Paket von Powershell, aber ich konnte nicht finden, ein Skript, das enthält. Könnten Sie ein bisschen mehr ausarbeiten? – user653649

2

Im Moment dies nicht möglich ist. Siehe this GitHub issue zum Nachverfolgen.

Die CLI-Befehle zum Hinzufügen von Referenzen unterstützen jedoch das Aktualisieren einzelner Pakete in einem Projekt, indem sie dotnet add package The.Package.Id erneut ausführen.

Verwandte Themen