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

What is the most standard way to get the latest version of an assembly solution-wide using NuGet?

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

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

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

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

并使用预构建事件 运行

nuget.exe install Dependency -NoCache -ExcludeVersion

有更好的方法吗?最好以最标准的方式进行,这样我们可以获得工具支持,并且项目的新开发人员可以更轻松地知道如何通过 NuGet 添加他们自己的依赖项。

从 Nuget.exe v2.8.3 开始,没有任何方法可以在解决方案范围内进行恢复和更新(至少当给定文件夹层次结构中的所有项目不是解决方案的一部分时) .我们最终使用了 .

中描述的工作流程