C# 通过MsBuild/csproj强制评估带锁文件的浮动版本包
我想使用Nuget(>=4.9)的锁定依赖项,这样我就可以在开发阶段自动更新包,在发布构建期间固定版本 我启用了锁定文件模式,因此现在有了一个C# 通过MsBuild/csproj强制评估带锁文件的浮动版本包,c#,visual-studio,msbuild,nuget,C#,Visual Studio,Msbuild,Nuget,我想使用Nuget(>=4.9)的锁定依赖项,这样我就可以在开发阶段自动更新包,在发布构建期间固定版本 我启用了锁定文件模式,因此现在有了一个packages.lock.json文件 问题是,当项目文件中有浮动版本的包引用时,如: <PackageReference Include="My.Nuget.Package" Version="1.0.*" /> 通过Visual Studio生成的还原包不再更新为新的包版本。这种行为出现在我激活锁文件之后 描述了带有dotnet.e
packages.lock.json
文件
问题是,当项目文件中有浮动版本的包引用时,如:
<PackageReference Include="My.Nuget.Package" Version="1.0.*" />
通过Visual Studio生成的还原包不再更新为新的包版本。这种行为出现在我激活锁文件之后
描述了带有dotnet.exe
的--force evaluate
选项,该选项运行良好,但我想直接使用csproj中的MsBuild选项来实现
通过检查NuGet客户端代码,Msbuild NuGet.targets中似乎存在一个RestoreForceEvaluate
选项,但我不知道如何使用它
通过检查NuGet客户端代码,似乎Msbuild NuGet.targets中存在RestoreForceEvaluate选项,但我不知道如何使用它
恐怕我们现在不能这样做。根据nuget维基
:
选项--force evaluate
没有类似的MSBuild等效选项,因此我们无法将--force evaluate
直接用于csproj中的MSBuild选项
希望这能有所帮助。谢谢,但是重新评估和恢复在哪里?@maxence51,这是一个准备功能。它将出现在更高版本上。很抱歉,我提得太早了,我已经更新了答案。我希望这不会给您带来太多麻烦。好的,谢谢您,Leo,我将处理CLI,直到它出现在Visual Studio中。