【发布时间】: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