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?