9

When I install a NuGet package, it typically updates my proj file with a new reference like so:

<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>

There are two parts of this each of which sometimes are not added:

, Version=4.5.0.0...

and

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

What implications do each of these settings have and how does NuGet choose which combination to specify when installing/updating a package?

ChaseMedallion
  • 20,860
  • 17
  • 88
  • 152

1 Answers1

-2

Don't worry about this. The only time I ever venture into the csproj is to set build views to true when I have been doing some ropey code. If you are having no issues it's fine. The specific version and version numbers are a remnant from dark times of dll hell in .net where we had multiple versions of Dll's in the GAC. The only time I notice them is when I reference some COM visible assembly.

Adrian Booth
  • 154
  • 1
  • 6
  • Thanks for the advice, but this is not really an answer. I'd love to understand the ins an outs of this. I have to believe that there's some reason why NuGet behaves the way it does. – ChaseMedallion Jun 15 '14 at 22:08