我们使用NuGet(NuGet版本:3.5.0.1996)两种不同的方式.我们要么从命令行运行它,要么在Visual Studio(2015)中使用NuGet包管理器.
问题是这两种方式添加了对不同格式的.csproj文件的引用.如果我们使用命令行,我们会得到一个如下所示的引用:
<Reference Include="Dummy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\Dummy.1.27.10\lib\net452\Dummy.dll</HintPath>
<Private>True</Private>
</Reference>
Run Code Online (Sandbox Code Playgroud)
如果我们在Visual Studio中使用NuGet包管理器,我们会得到一个如下所示的引用:
<Reference Include="Dummy, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Dummy.1.27.10\lib\net452\Dummy.dll</HintPath>
<Private>True</Private>
</Reference>
Run Code Online (Sandbox Code Playgroud)
请注意,其中一个使用PublicKeyToken属性添加引用,另一个使用processorArchitecture属性添加它.
这会导致我们的源代码控制出现频繁(和不必要)更新和合并的问题.
很高兴知道为什么会发生这种情况,但我宁愿有办法防止它发生.有什么建议?