.net core 在包引用中使用*占位符时,dotnet还原未更新到新版本

.net core 在包引用中使用*占位符时,dotnet还原未更新到新版本,.net-core,nuget,.net Core,Nuget,背景 .NET核心CLI(例如,dotnet还原,dotnet构建) SDK样式的项目文件(例如,) 依赖于通过nuget服务器发布的包的应用程序项目 我的软件包的语义版本控制(例如,1.6.10,是版本1.6.9,具有向后兼容的修复程序) 应用程序中带有补丁占位符的项目包引用(例如,1.6.*) nuget.config文件(包含到packages文件夹的路径和nuget源列表。) 我的应用程序的项目文件可能包含以下内容: <PackageReference Include="MyD

背景

  • .NET核心CLI(例如,
    dotnet还原
    dotnet构建
  • SDK样式的项目文件(例如,
  • 依赖于通过nuget服务器发布的包的应用程序项目
  • 我的软件包的语义版本控制(例如,
    1.6.10
    ,是版本
    1.6.9
    ,具有向后兼容的修复程序)
  • 应用程序中带有补丁占位符的项目包引用(例如,
    1.6.*
  • nuget.config文件(包含到packages文件夹的路径和nuget源列表。)
我的应用程序的项目文件可能包含以下内容:

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

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

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

以下是我在我的开发机器上所做的工作:

  • 编辑项目文件,将
    1.6.*
    替换为
    1.6.10
  • 运行
    dotnet还原
  • 观看下载的新软件包版本
  • 编辑项目文件,将
    1.6.10
    恢复为
    1.6.*
问题:在上述情况下,“请下载软件包的最新补丁”的正确说法是什么?

我想我找到了答案。。。dotnet还原上的
--no cache
选项

dotnet restore --no-cache

我没有使用packages.config文件。因此,
nuget update
给了我一个错误。我也有同样的问题。然而,
noCache
被解释为
阻止NuGet使用本地机器缓存中的包。
这是否意味着每次构建开始时都会下载包?