Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过MsBuild/csproj强制评估带锁文件的浮动版本包_C#_Visual Studio_Msbuild_Nuget - Fatal编程技术网

C# 通过MsBuild/csproj强制评估带锁文件的浮动版本包

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

我想使用Nuget(>=4.9)的锁定依赖项,这样我就可以在开发阶段自动更新包,在发布构建期间固定版本

我启用了锁定文件模式,因此现在有了一个
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中。