使用SDK风格的CSPROJ.
Scenario:
CSPROJ:
<PackageReference Include="MyNamespace.Package" Version="3.5.4-*" />
<PackageReference Include="MyNamespace.Other" Version="3.5.3" />
安装:
MyNamespace.Package 3.5.4-pre.1
MyNamespace.Other 3.5.3
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
I不希望Nuget修改任何
packageReference条目。
我希望nuget安装满足通配符的最新最新MyNamespace.Package
,在这里将是3.5.4-pre.2
。
有任何内在方法可以实现这一目标吗?
在这里查看浮动版本: nugetpackagerference格式 - 浮动版本
-NoCache
我不知道使用预释放套件来做到这一点的方法,但我相信PackageReference和Wildcards
<PackageReference Include="I.want.the.latest.version.of" Version="*" />
<PackageReference Include="I.want.the.latest.version.3.of" Version="3.*" />
与MSBUILD /RESTORE一起可以实现这一目标。我在项目中做了完全相同的事情,我想在每个构建中消耗最新版本的某些软件包,而无需修改任何packageReference条目。MSBUILD/RESTORE TARGITS支持一个称为RestoreForce(https://learn.microsoft.com/en-us/nuget/nuget/reference/mmsbuild-targets#restore-target)的属性。 Nuget.exeRestore,截至撰写本文(版本5.4.0.6315),似乎在PackageReference中支持通配符(
2025答案:如本示例所示:
<RestoreNoCache>
我在任何地方都找不到记录的属性,尽管类似的属性在此处记录了:Https://learn.microsoft.com/en-us/nuget/reference/mmsbuild-targets