【发布时间】:2018-04-19 09:37:51
【问题描述】:
此问题特定于 MSBuild 15.1+ (Visual Studio 2017) 和 PackageReference,这是 Nuget 完全集成到 MSBuild 中的新方式。
在我的持续集成脚本中,我有类似的内容:
MSBuild.exe /t:Restore MySolution.sln /p:RestoreConfigFile=NuGet.config
csproj 文件之一包含:
<PackageReference Include="MyPackageA">
<Version>1.2.*</Version>
</PackageReference>
MyPackageA 是一个内部包,我希望 nuget 解决对可用最新版本的引用,包括预发布版本。
我们举两个例子:
示例#1
可用的包是:
- MyPackageA 版本 1.2.7-dev1
- MyPackageA 版本 1.2.7-dev2
- MyPackageA 版本 1.2.7-dev3
- MyPackageA 版本 1.2.8
我希望 nuget 解决依赖关系并选择 MyPackageA 版本 1.2.8。
示例 #2
可用的包是:
- MyPackageA 版本 1.2.7-dev1
- MyPackageA 版本 1.2.7-dev2
- MyPackageA 版本 1.2.7-dev3
- MyPackageA 1.2.8 版
- MyPackageA 版本 1.2.9-dev1
- MyPackageA 版本 1.2.9-dev2
我希望 nuget 解决依赖关系并选择 MyPackageA 版本 1.2.9-dev2。
但是,在这两个示例中,它只能解析为版本 1.2.8(稳定版本)。
有没有办法告诉MSBuild 或Nuget 包含预发布包?
【问题讨论】:
-
请提供更具体的描述,说明您试图完成的工作,并提供一个项目文件的示例,该文件的行为与预期不符。
-
@MartinUllrich,有空请重新看一下,我添加了 2 个示例以使问题更清晰。谢谢。
标签: msbuild visual-studio-2017 nuget nuget-package-restore