7

背景

  • .NET Core CLI(例如dotnet restore, dotnet build
  • SDK 风格的项目文件(例如<Project Sdk="Microsoft.NET.Sdk">
  • 一个依赖于我通过 nuget 服务器发布的包的应用程序项目。
  • 我的包的语义版本控制(例如,1.6.10是版本1.6.9,带有向后兼容的修复)
  • 应用程序中带有补丁占位符的项目包引用(例如,1.6.*
  • nuget.config 文件(带有包文件夹的路径和 NuGet 源列表。)

我的应用程序的项目文件可能包含以下内容:

<PackageReference Include="MyDataAccessLibrary" Version="1.6.*" />

问题是:当我将包的新版本发布到 nuget 服务器时,dotnet restore在我的开发机器上运行并没有下载该新版本(如果我已经针对以前的版本进行构建。)

例如,如果我一直在构建包版本 1.6.9,我希望它dotnet restore会检测到最近发布的 1.6.10,安装它,并在构建我的依赖应用程序时使用它。这不是我在开发机器上的经验。(在构建服务器上,它工作正常,因为它为每个构建获取一个干净的副本。)

这是我在开发机器上一直在做的解决方法:

  • 编辑项目文件,替换1.6.*1.6.10.
  • dotnet restore
  • 观看下载的新软件包版本
  • 编辑项目文件,恢复1.6.101.6.*

问题:在上述情况下,“请下载软件包的最新补丁”的正确说法是什么?

4

1 回答 1

7

我找到了答案...... --no-cachedotnet restore 上的选项。

dotnet restore --no-cache
于 2018-09-25T01:06:51.537 回答