2014-05-19 10 views
8

Wenn ich ein NuGet Paket zu installieren, aktualisiert es normalerweise meine proj-Datei mit einer neuen Referenz wie folgt:Wie entscheidet VS/NuGet, csproj Referenzen zu erstellen und was bedeuten die Unterschiede?

<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll</HintPath> 
</Reference> 

Es gibt zwei Teile davon, von denen jede manchmal nicht hinzugefügt werden:

, Version=4.5.0.0... 

und

<SpecificVersion>False</SpecificVersion> <!-- sometimes this is present but set to true --> 

welche Folgen haben jede dieser Einstellungen haben und wie funktioniert NuGet zu wählen, welche Kombination angeben, bei der Installation/Aktualisierung ap Stau?

+0

Es könnte helfen, wenn Sie erklären, was der alternative Weg ist es ist. –

+0

@ErikFunkenbusch: manchmal wird der Abschnitt Version = ... nicht hinzugefügt, manchmal ist eine bestimmte Version wahr und manchmal fehlt eine bestimmte Version. – ChaseMedallion

+0

Haben Sie Beispiele für nugget-Pakete, die beim Hinzufügen anders deklariert werden? Es hat damit zu tun, wie das Paket erstellt/strukturiert wird. –

Antwort

-2

Mach dir keine Sorgen darüber. Die einzige Zeit, die ich jemals in die csproj eintrete, ist, Build-Ansichten auf wahr zu setzen, wenn ich etwas Code gemacht habe. Wenn Sie keine Probleme haben, ist es in Ordnung. Die spezifischen Versions- und Versionsnummern sind ein Rest aus dunklen Zeiten der DLL-Hölle in .net, wo wir mehrere Versionen von Dlls im GAC hatten. Die einzige Zeit, die ich sie bemerke, ist, wenn ich eine COM-sichtbare Baugruppe referenziere.

+0

Danke für den Rat, aber das ist nicht wirklich eine Antwort. Ich würde gerne die Zusammenhänge verstehen. Ich muss glauben, dass es einen Grund gibt, warum NuGet sich so verhält. – ChaseMedallion

Verwandte Themen