使用NuGet获取最新版本的装配解决方案的最标准方法是什么?

时间:2015-01-14 21:32:59

标签: nuget csproj nuget-package-restore

我的公司正在使用NuGet来实现桌面应用程序的内部依赖性。这适用于版本化导入,但在某些情况下(例如在产品上的预测试版期间),我们希望在构建服务器上获取最新版本的依赖项,并让csproj文件找到它而不会出现问题。 / p>

我们希望使用自动包恢复,但这似乎受到特定版本的限制(如this question中所述)。使用nuget恢复然后进行nuget更新也是一种可能性,但它似乎不像解决方案那样在解决方案范围内工作(我们有几十个项目必须共享相同依赖项的相同版本)

到目前为止,我们的最佳解决方案是以非版本化的方式为依赖二进制文件添加一个提示路径,即

<Reference Include="Dependency">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\packages\Dependency\lib\net40\Dependency.dll</HintPath>
</Reference>

使用预构建事件来运行

nuget.exe install Dependency -NoCache -ExcludeVersion

有更好的方法吗?以最标准的方式做到这一点会很好,这样我们就可以获得工具支持,项目的新开发人员可以更容易地知道如何通过NuGet添加自己的依赖项。

1 个答案:

答案 0 :(得分:0)

从Nuget.exe v2.8.3开始,没有任何方法可以进行解决方案范围的恢复和更新(至少当给定文件夹层次结构中的所有项目都不是解决方案的一部分时)。我们最终使用了 How do I update a single nuget package in a project from the command line? 中描述的工作流程。