NuGet包安装使用csproj文件中的特定程序集版本

时间:2016-07-26 17:50:38

标签: .net visual-studio-2012 nuget nuget-package

我们在项目中使用NuGet,我们遇到了NuGet包的csproj引用问题。

情景1

当我们使用以下详细信息在Dev系统上安装少量软件包时,

  • Windows 7,x64位
  • Visual Studio 2012
  • NuGet 2.8
  • PTC Integrity for version control

它将特定版本添加到csproj文件中。如下所示,(csproj片段),

<Reference Include="ABCD.XYZ, Version=1.0.6045.25123, Culture=neutral, processorArchitecture=AMD64">
<HintPath>..\packages\ABCD.XYZ.2.0.0.0\lib\net45\ABCD.XYZ.dll</HintPath>
<Private>True</Private>
</Reference>

场景2

在构建服务器上添加具有以下详细信息的相同包时

  • Windows Server 2008 R2
  • Visual Studio 2012
  • NuGet 2.8
  • PTC Integrity for version control

它增加了以下细节,

<Reference Include="ABCD.XYZ">
  <HintPath>..\packages\ABCD.XYZ.2.0.0.0\lib\net45\ABCD.XYZ.dll</HintPath>
  <Private>True</Private>
</Reference>

如何添加特定版本?我看到这个post提到它在该用户的csproj中添加了以下标记,但对我们来说情况并非如此。

<SpecificVersion>False</SpecificVersion>
  • 我的场景是,我们的构建会在每次构建时增加ABCD.XYZ程序集版本。 因此,具有上述参考的项目失败,因为它无法找到上述版本(NuGet在参考中添加了强名称)

  • 我尝试了各种构建配置,如Debug,Release,x64,Any CPU等。

  • 手动更新csproj,不是那么灵活的选项

所以,这是我的几个问题,

  • 如何将此特定版本或强名称添加到csproj?
  • 是否有添加/忽略特定版本的选项?
  • 在场景2中突出显示添加引用需要什么?

如果需要其他数据,请告诉我们。

0 个答案:

没有答案