【发布时间】:2017-10-27 03:50:10
【问题描述】:
我经历了几个例子,但是尽管我每次执行我的 realease 任务时都努力,但它无法找到 sdk:
[错误]System.Management.Automation.CmdletInvocationException:术语“Trace-VstsEnteringInvocation”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。
根据post 的建议,我已尝试使用任务根目录下的 SDK。我也尝试过从路径中删除版本号。
|-- task root
|----- ps_modules
|----- VstsTaskSDK
|----- 0.10.0
|------ <corresponding sdk files, including VstsTaskSdk.psd1>
|----- deploy.ps1
|----- icon.png
|----- task.json
我也尝试过使用高于任务一级的 sdk 文件夹,因为我已经看到了这项工作。再次尝试使用存在和删除的版本号。
|-- root
|-- task root
|----- deploy.ps1
|----- icon.png
|----- task.json
|-- sdk
|----- ps_modules
|----- VstsTaskSDK
|----- 0.10.0
|------ <corresponding sdk files, including VstsTaskSdk.psd1>
然后我尝试弄乱 vss-extension.json 文件中的文件节,包括 sdk 或 sdk/ps_modules/VstsTaskSdk 等。我尝试了 15 种排列,但没有成功。
当我创建包时,我从扩展根目录运行以下 cmd(不确定是否相关):
tfx extension create --manifest-globs .\vss-extension.json
关于我缺少什么的任何想法?
更新
我无法解决此问题,因此我简化了我的任务以进行测试。我的任务现在只包含 sdk;没有参数,我的 powershell 中只有两个 cmdlet:
Trace-VstsEnteringInvocation $MyInvocation
Trace-VstsLeavingInvocation $MyInvocation
我的 Task.json:
{
"id": "<myguid>",
"name": "VstsSdkTest",
"friendlyName": "VstsSdkTest",
"description": "A Test Task to troubleshoot vststasksdk issue",
"helpMarkDown": "",
"category": "Deploy",
"visibility": [
"Deploy"
],
"instanceNameFormat": "VstsSdkTest",
"author": "<myAuthor>",
"version": {
"Major": 0,
"Minor": 1,
"Patch": 1
},
"execution": {
"Powershell3": {
"target": "VstsTaskSDKTest.ps1"
}
}
}
我的文件夹结构如下:
|-- VstsSdkTest
|----- VstsTaskSDKTest.ps1
|----- icon.png
|----- task.json
|----- ps_modules
|----- VstsTaskSDK
|----- <corresponding sdk files, including VstsTaskSdk.psd1>
即使每次执行此简化任务(在托管代理上),它也无法找到 SDK。它似乎在与任务版本号相关的任务下的文件夹中寻找 SDK。
2017-10-24T20:39:08.9599715Z ##[error]File not found: 'd:\a\_tasks\VstsSdkTest_<myGuid>\0.1.1\ps_modules\VstsTaskSdk\VstsTaskSdk.psd1'
【问题讨论】:
-
根据您的回答(已删除),您批准范围变更后是否解决此问题?
-
不,我认为问题已解决,因此我发布了该答案。进一步调查显示问题仍然存在,因此我将其删除。
-
你能把所有的文件夹结构的文件打包并在这里分享吗?
标签: azure-pipelines-build-task