Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在VisualStudioTeamServices构建步骤中选择NuGetPackager版本_.net_Build_Azure Devops - Fatal编程技术网

.net 在VisualStudioTeamServices构建步骤中选择NuGetPackager版本

.net 在VisualStudioTeamServices构建步骤中选择NuGetPackager版本,.net,build,azure-devops,.net,Build,Azure Devops,为什么我不能在Visual Studio Team Services的生成步骤配置中选择nuget版本?似乎对于其他每一个nuget构建步骤(安装程序、发布者),我都可以在3.3.0和3.5.0之间进行选择,但对于这一步,我必须下载nuget.exe,将其签入源代码管理并提供一个指向exe的路径 由于nuget 3.3.0无法处理直接从project.json生成包的问题,因此在这一步中选择版本是非常有意义的。我想不出任何好的理由来查看存储库,看看它们是由不同的开发人员创建的任务,可能是通信混

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


由于nuget 3.3.0无法处理直接从project.json生成包的问题,因此在这一步中选择版本是非常有意义的。

我想不出任何好的理由来查看存储库,看看它们是由不同的开发人员创建的任务,可能是通信混淆,谁知道呢?:)

通过查看打包机和发布服务器的task.json,您可以看到它并不是为打包机实现的,而是发布服务器的一部分


该问题已被记录,一旦修复,不久将在VST上可用。

我想不出任何好的理由,并查看存储库中由独立开发人员创建的任务,可能是通信混淆,谁知道呢?:)

通过查看打包机和发布服务器的task.json,您可以看到它并不是为打包机实现的,而是发布服务器的一部分


此问题已记录,一旦修复,不久将在VST上可用。

是的,nuget版本在nuget Publisher任务中定义,但到目前为止未在nuget Packager任务中定义。如果您需要选择nuget版本,您可以开发自己的任务,类似于nuget Packager。所有VSTS任务代码仅供参考


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

是的,nuget版本是在nuget Publisher任务中定义的,但到目前为止没有在nuget Packager任务中定义。如果您需要选择nuget版本,您可以开发自己的任务,类似于nuget Packager。所有VSTS任务代码仅供参考


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

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


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

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


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

我遇到了完全相同的问题,并收到了来自MS技术支持人员的非常有用的回复。这会将3.5.0下载到临时位置(如果它还不存在),从而避免在源代码管理系统中使用nuget.exe

1) 添加Powershell脚本类型的任务,并将其放置在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构建步骤中,将Path to Nuget.exe值设置为我们刚刚设置的变量:

$(downloadedNuGetExe)

希望这有帮助,感谢MS支持技术人员Aruna提供此解决方案

我遇到了完全相同的问题,并从MS技术支持人员那里得到了非常有用的回复。这会将3.5.0下载到临时位置(如果它还不存在),从而避免在源代码管理系统中使用nuget.exe

1) 添加Powershell脚本类型的任务,并将其放置在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构建步骤中,将Path to Nuget.exe值设置为我们刚刚设置的变量:

$(downloadedNuGetExe)

希望这有帮助,感谢MS支持技术人员Aruna提供此解决方案

由于疏忽,只有安装程序和发布者任务使用版本选择器进行了更新。但是,我们将在即将到来的sprint中更新NuGet Packager任务,以启用当前安装程序和发布者任务中可用的相同版本选择器。作为更新的一部分,我们还将提供NuGet 4.0@亚历克斯,这修过吗?我仍然看不到指定NuGet版本的能力。我们正在使用来自GitHub和TFS版本15.117.26714.0.Yep的最新构建代理!有关详细信息,请参见此处。TFS 2017 U3及更高版本的最佳体验,但所有版本都有解决方案。由于疏忽,只有安装程序和发布者任务使用版本选择器进行了更新。但是,我们将在即将到来的sprint中更新NuGet Packager任务,以启用当前安装程序和发布者任务中可用的相同版本选择器。作为更新的一部分,我们还将提供NuGet 4.0@亚历克斯,这修过吗?我仍然看不到指定NuGet版本的能力。我们正在使用来自GitHub和TFS版本15.117.26714.0.Yep的最新构建代理!有关详细信息,请参见此处。TFS 2017 U3及更高版本的最佳体验,但所有版本都有解决方案。谢谢你,亚历克斯!这是关于你答案的我的问题,因为我对这个问题还很陌生。如何添加powershell脚本?NuGet Packager步骤是什么意思?任何评论或链接,以检查将非常感谢。谢谢这个亚历克斯!这是关于你答案的我的问题,因为我对这个问题还很陌生。如何添加powershell脚本?NuGet Packager步骤是什么意思?任何评论或链接,以检查将非常感谢。