繁体   English   中英

在Visual Studio Team Services构建步骤中选择Nuget Packager版本

[英]Choose Nuget Packager version in Visual Studio Team Services build step

为什么在Visual Studio Team Services中的构建步骤配置中无法选择nuget版本? 似乎对于每一个其他的nuget构建步骤(安装程序,发布者),我都可以在3.3.0和3.5.0之间进行选择,但是对于这一步,我不得不下载nuget.exe,将其检入源代码管理并提供了以下路径:的exe。

在此处输入图片说明

由于nuget 3.3.0无法处理直接从project.json制作软件包的问题,​​因此能够在此步骤中选择版本非常有意义。

是的,到目前为止,nuget版本是在NuGet Publisher任务中定义的,但尚未在NuGet Packager任务中定义。 如果需要选择nuget版本,则可以开发与NuGet Packager类似的任务。 所有VSTS任务代码都在这里供您参考。

选项2:您可以添加要在源代码管理中使用的nuget版本,并在NuGet Packager任务中添加路径。 详细信息可以在这里参考。

我遇到了完全相同的问题,并且收到了MS支持技术人员的非常有益的答复。 如果3.5.0尚不存在,则会将其下载到临时位置,因此避免在源代码控制系统中拥有nuget.exe。

1)添加Powershell脚本类型的Task并将其放置在Nuget Packager步骤上方。
2)将类型设置为“内联脚本”
3)替换默认的内联脚本值:

$v = '3.5.0'
$u = "https://dist.nuget.org/win-x86-commandline/v$v/NuGet.exe"
$p = Join-Path ([IO.Path]::GetTempPath()) "NuGet-$v.exe"
Write-Host "##vso[task.setvariable variable=downloadedNuGetExe]$p"
if (Test-Path $p) { return }
Invoke-WebRequest $u -OutFile $p

4)在Nuget Packager构建步骤中,将“ Nuget.exe的路径”值设置为我们刚刚设置的变量:

$(downloadedNuGetExe)

希望对您有所帮助,并感谢MS支持技术人员Aruna提供的此解决方案!

[使用新功能信息更新2017年11月29日]

NuGet工具安装程序任务是管理在构建中使用的NuGet版本的首选方法。 有关更多信息,请参见此博客文章

我想不出什么充分的理由,而是在仓库中查找由独立开发人员创建的任务,也许是通信混淆,谁知道呢? :)

您可以通过查看task.json的打包看到这里 ,并发布在这里 ,它只是没有为打包实现的-它在这里对L91发布的。

已记录问题#3636 ,一旦修复,将很快在VSTS上提供。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM