让 NuGet 寻找满足通配符的更新包

Ger*_*ino 9 .net csproj nuget nuget-package-restore

使用 SDK 样式的 csproj。

设想:

项目:

<PackageReference Include="MyNamespace.Package" Version="3.5.4-*" />
<PackageReference Include="MyNamespace.Other" Version="3.5.3" />
Run Code Online (Sandbox Code Playgroud)

安装:

MyNamespace.Package 3.5.4-pre.1
MyNamespace.Other 3.5.3
Run Code Online (Sandbox Code Playgroud)

在 NuGet 存储库中:

MyNamespace.Package 3.5.4-pre.1
MyNamespace.Package 3.5.4-pre.2
MyNamespace.Other 3.5.3
MyNamespace.Other 3.5.4
MyNamespace.Other 3.6.0
Run Code Online (Sandbox Code Playgroud)

希望 NuGet 修改任何PackageReference条目。我确实希望 NuGet 安装MyNamespace.Package满足通配符的最新版本,此处为 3.5.4-pre.2.

有没有任何内置的方法可以实现这一目标?

Ger*_*ino 2

写完问题后,我想到了另一件事我没有尝试过。

要让它在所有存储库(或选定的存储库)中再次查看并根据通配符包解析使用命令进行安装:

nuget restore \Path\To\Solution.sln -NoCache [-Source \path\to\repo]

-NoCache将使它忽略“已知”包,但不更新您的任何引用。它将找到满足通配符的较新的软件包并安装它。