原来的情况
我有一个库作为 nuget 版本暴露给其他(内部)项目。更新之前版本为 1.0.14。除了 nuget.org 中的常见内容(没有任何内部内容)之外,它没有任何依赖项。
它的引用是这样的:
<PackageReference Include="My.Contracts" Version="1.0.14" />
隔离某些代码以便在其他项目中重用
从 1.0.14 版本开始,我已将逻辑从代码中移出,因为它需要被其他项目使用。认为授权和通用逻辑之类的东西将是相同的,并且应该集中共享以便重用和简单维护。
为此引入了新的内部 nuget 包。它的名字叫
My.Shared.Backend.Integration
它已发布到同一个提要
My.Contracts
已开启。
现状
My.Contracts 已更新为使用该中央包,并已更新至版本
1.0.16
。
我现在正在尝试将我们的 Blazor 前端 WASM 更新到此版本。
我遇到了什么
如果我在 Blazor UI 上更新我的 nuget 包,我会在 *.csproj 中得到它
<PackageReference Include="My.Contracts" Version="1.0.16" />
但是参考仍然显示为版本1.0.14:
关闭VS并重新打开解决方案后,该版本问题得到纠正,已更正为
1.0.16
。但黄色三角形仍然存在,现在在我构建时也得到了这个:
我的问题
Visual Studio 似乎有什么东西“吓坏了”。这应该非常简单,所有解决方案和项目都在 NET8 上。
参考树也不太复杂:
UI > Internal Contracts Library > Internal Logic Library
为什么我会得到这些黄色三角形(或者我怎样才能找到)以及 我该怎么做才能解决这个问题?
由于版本号不正确,您收到黄色三角形。
解决此问题的一个简单方法可能是清除您的块缓存: 工具 > 选项 > NuGet 包管理器 > 常规,然后单击“清除所有 NuGet 缓存”。