首页 > 解决方案 > 恢复锁定模式失败,出现错误 NU1004:包锁定文件不一致

问题描述

我有 2 个 C# 项目:Project.csprojProject.Tests.csproj.

Project.Tests.csproj包含ProjectReference

<ItemGroup>
    <ProjectReference Include="../Project/Project.csproj" />
</ItemGroup>

我使用浮动版本的依赖项,还启用了锁定文件:

<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder>
<RestoreLockedMode>false</RestoreLockedMode>

当我执行dotnet restore --locked-mode时,我得到

/usr/share/dotnet/sdk/3.1.409/NuGet.targets(128,5): error NU1004: The packages lock file is inconsistent with the project dependencies so restore can't be run in locked mode. Disable the RestoreLockedMode MSBuild property or pass an explicit --force-evaluate option to run restore to update the lock file.

当我尝试建议dotnet restore --force-evaluate时,它已正确恢复,但锁定文件没有任何更改。有趣的是,当我立即执行时dotnet restore --locked-mode,它同样失败了error NU1004

你知道如何克服这个问题吗?有没有办法告诉 NuGet 提供更多描述性信息,为什么它会失败?

标签: c#.net-corenuget

解决方案


推荐阅读