我在 aspnet 中创建了 2 个项目:1 个 Web 项目和一个引用第一个项目的类库:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="2.*" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\WebApplication\WebApplication.csproj" />
</ItemGroup>
</Project>
它很简单,只是普通的新项目。现在如果我跑
dotnet restore --force-evaluate
dotnet restore --locked-mode
我收到此错误(在第二个命令之后):
C:\Source\Test\WebApplication1\ClassLibrary1\ClassLibrary1.csproj : error NU1004: The project references webapplication which dependencies has changed.The packages lock file is compatible with the project dependencies so restore can not be run in locked mode. 禁用 RestoreLockedMode MSBuild 属性或传递显式 --force-evaluate 选项以运行恢复以更新锁定文件。[C:\Source\Test\WebApplication1\WebApplication1.sln]
如果引用不是通配符,则它可以正常工作。我不太明白为什么会发生此错误以及我做错了什么。从它的外观我会说这是一个错误。