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