2016-04-07 6 views
4

Aus irgendeinem Grund beim Erstellen meiner Anwendung mit TeamCity besteht es darauf zu versuchen, "System.Runtime 4.0.20" zu installieren.Nuget Package Restore: .NET Version Fehler beim Ziel

dann bekomme ich folgende Fehlermeldung:

[update] WARNING: Package 'System.Runtime 4.0.20' does not exist in project 'AkkaNeat.Tests.csproj' [20:04:08][update] Removed package 'System.Resources.ResourceManager 4.0.0' from 'packages.config' [20:04:08][update] Removed package 'System.Linq 4.0.0' from 'packages.config' [20:04:08][update] For adding package 'System.Runtime 4.0.10' to project 'AkkaNeat.Tests.csproj' that targets 'net45'. [20:04:08][update] Could not install package 'System.Runtime 4.0.20'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author. [20:04:08][update] Process exited with code 1 [20:04:09][Step 2/4] Step Restore NuGet packages (NuGet Installer) failed

Ich kann nicht verstehen, warum sie das Paket hinzugefügt ist das Beharren auf. Alles wird auf dem Agent-Computer in Xamarin und Visual Studio ordnungsgemäß erstellt.

Ich habe zwei volle Tage damit verbracht, dies herauszufinden. Ich habe sogar versucht, der Datei packages.json explizit einen Verweis auf eine andere Version von System.Runtime hinzuzufügen. Nuget besteht immer noch auf der angegebenen Version.

Antwort

4

Ihr Paket, das Sie installieren möchten, unterstützt nicht die Version von .Net, auf die Ihr Projekt abzielt. Aktualisieren Sie dazu die .Net-Version, auf die Ihr Projekt abzielt, auf die .NET-Version, die vom Paket System.Runtime 4.0.20 unterstützt wird (das in Ihrer Ausgabe nicht enthalten ist).

Schritt 1: Finden Sie die Version von .Net, die das Paket unterstützt.

Sie können die Version finden, die Sie für Ihr nugget-Paket benötigen, indem Sie looking at the folder that it's installed under. Wenn es im Ordner /path/to/lib/net46 oder path/to/lib/net451 ist, dann würde das .Net 4.6 bzw. .Net 4.5.1 bedeuten.

Schritt 2: change your project's .Net version

+0

Danke. Ich habe es schließlich mit Hilfe Ihrer Antwort funktioniert. :) –

+0

Sie sind herzlich willkommen :) –