【问题标题】:Release Nuget cannot bind argument to parameter 'Path'Release Nuget 无法将参数绑定到参数“路径”
【发布时间】:2016-01-11 17:31:17
【问题描述】:

我正在使用 Visual Studio 团队服务。问题在于包含 NuGet Publisher 任务的发布定义。我有确切的 NuGet Publisher 配置在 Build 配置中运行良好,所以我的印象是设置它以在 Release 上运行还有更多。错误是:

Starting task: NuGet Publisher     
Set workingFolder to default: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\NuGetPublisher\0.1.39
Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\NuGetPublisher\0.1.39\NuGetPublisher.ps1
##[error]Cannot bind argument to parameter 'Path' because it is null.
##[error]Cannot bind argument to parameter 'Path' because it is null.
Check/Set nuget path

我的构建配置文件中存在与发布配置文件中相同的环境变量。在 Release 配置文件中,只有 Nuget Publish 步骤,没有 Packager 步骤。这个“路径”变量是否需要来自打包/编译步骤?我不认为会有这样的相互依赖。

您可以通过简单地使用 Visual Studio 模板创建一个新版本来重现这一点。然后在“工件”步骤之前添加 NuGet Packager 和 NuGet Publisher 步骤。我喜欢将我的 nupkg 输出到 $(BuildConfiguration) 目录以保持一致。这运行良好。

接下来,禁用发布步骤。然后使用 Empty 模板制作发布配置文件。添加 NuGet Publisher 步骤。链接到上一步的 Build 配置的工件源,然后发布。这将导致错误。

【问题讨论】:

  • 参数“路径”是提供给 NuGetPublisher.ps1 中的命令行开关或函数的参数名称。在该文件中查看传递给 Path 参数的内容。例如。测试路径 -Path $someLocalVariable
  • 明白。我想保持该价值的来源一致。我将在上面添加更多的复制说明。
  • 就VSTS Build中可以看到的,设置了路径掩码。我不确定映射到什么参数。但是,我在 Build 和 Release 之间将其设置为相同,Release 是唯一一个引发“路径”错误的人。

标签: visual-studio-2015 nuget azure-devops


【解决方案1】:

问题出在“Nuget Publisher”任务中。它在 PowerShell 脚本中使用“AGENT_BUILDDIRECTORY”变量,而此变量适用于“构建”,但不适用于“发布”。所以“Release”中的值为空。您可以在此页面上提交用户语音:http://visualstudio.uservoice.com/forums/330519-team-services

目前,如果您使用 your own build agent 进行“发布”,您可以转到构建代理工作文件夹“agent\tasks\NuGetPublisher\0.1.39\”。更新“VsoNuGetHelper.ps1”中的打击线: 来自:

$nuGetTempDirectory = Join-Path $Env:AGENT_BUILDDIRECTORY "NuGet\"

收件人:

$nuGetTempDirectory = Join-Path $Env:SYSTEM_DEFAULTWORKINGDIRECTORY "NuGet\"

通过此更改,发布将成功完成,没有任何错误。

如果您使用托管构建代理,您可以创建一个 PowerShell 脚本并将其添加到您的发布定义中以发布 nuget 包。详情可以参考这段代码:https://github.com/Microsoft/vso-agent-tasks/blob/master/Tasks/NugetPublisher/NuGetPublisher.ps1

【讨论】:

  • 用户语音项目的标题是什么?我会投赞成票
  • @DrydenMaker 没有为此提交任何用户声音,您可以提交一个。
  • 好,我以为我看的不够仔细。谢谢!我创造了它。对于那些发现这个的人,投票:visualstudio.uservoice.com/forums/330519-team-services/…
【解决方案2】:

最近部署的 Team Services 已解决此问题。

【讨论】:

    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    相关资源
    最近更新 更多