VSTS扩展找不到SDK
我已经经历了几个例子,但尽管我努力,我每次执行我的任务realease它无法找到该SDK:VSTS扩展找不到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
任何想法?
UPDATE
我一直没能解决这个让我简化我的任务用于测试目的。我的任务现在只包含sdk;没有参数,只是两个cmdlet在我的PowerShell:
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'
您使用PowerShell和调用SDK命令,所以使用PowerShell3代替(不PowerShell的)。
task.json文件的部分代码:
"execution": {
"PowerShell3": {
"target": "deploy.ps1",
"argumentFormat": ""
}
我试着把这个添加到我的任务中,json,没有解决。 –
请检查我的更新。我试图简化我的任务,但它仍然无法找到SDK。 –
@JustinHol*这些文件需要位于VstsTaskSDK文件夹中。因此将文件复制到VstsTaskSDK文件夹(删除0.10.0)。更新后,您需要更新构建定义才能使用新版本的任务。 (您可以检查构建日志中的任务版本是否使用最新版本的任务) –
问题是由于我不理解我,每当我提出的vststasksdk文件夹来更新task.json文件的版本号。我认为我只需要更新vss-extension.json版本,因为它包含文件节。并非如此。为我工作的最终文件夹结构是将sdk存储在任务根目录中的文件夹中。
|-- VstsSdkTest
|----- VstsTaskSDKTest.ps1
|----- icon.png
|----- task.json
|----- ps_modules
|----- VstsTaskSDK
|----- <corresponding sdk files, including VstsTaskSdk.psd1>
根据您的回答(删除),您是否在批准范围更改后解决此问题? –
不,我认为问题解决了,所以我发布了答案。进一步调查发现问题仍然存在,所以我删除了它。 –
您可以为所有文件夹结构的文件打包并在此共享吗? –