Azure devops VSTS扩展中的包共享代码

Azure devops VSTS扩展中的包共享代码,azure-devops,azure-devops-extensions,Azure Devops,Azure Devops Extensions,我正在编写一个VSTS扩展,其中包含构建/发布任务。在扩展中,我可以将多个任务使用的代码放在哪里?我可以把它放在扩展文件树的任何地方(例如下面的Common文件夹)然后使用该路径吗?这些文件会被每个运行扩展任务的代理下载吗 我当前拥有的目录结构如下所示: My Extension |- MyBuildTask | |- MyBuildTask.ps1 | |- task.json |- MyReleaseTask | |- MyReleaseTask.ps1 | |- task.

我正在编写一个VSTS扩展,其中包含构建/发布任务。在扩展中,我可以将多个任务使用的代码放在哪里?我可以把它放在扩展文件树的任何地方(例如下面的
Common
文件夹)然后使用该路径吗?这些文件会被每个运行扩展任务的代理下载吗

我当前拥有的目录结构如下所示:

My Extension
|- MyBuildTask
|   |- MyBuildTask.ps1
|   |- task.json
|- MyReleaseTask
|   |- MyReleaseTask.ps1
|   |- task.json
|- Common
|   |- MyModule.psm1
|-vss-extension.json

据我所知,代理安装了整个扩展,这意味着扩展中的所有代码都应该可以从任何任务中下载和使用。

当您排队生成时,anent只下载单个任务文件,不能在任务之间共享文件。您必须将任务所需的所有文件打包到任务目录中

否,它仅从单个任务目录中下载文件。扩展中的其他任务不会下载,除非它们在构建中使用。谢谢-我现在采取的解决方法是在打包扩展时在构建时将
Common
目录复制到每个任务中。我确实尝试将其添加到扩展清单中:
,{“path”:“Common”,“addressable”:true,“packagePath”:“/Common”}
Common
目录已添加到扩展的根目录中,但我找不到方法让任务引用它。可能吗?您应该使用
gulpbuild
链接文件。运行
gulp build
后,您可以检查公共文件夹中的
DeploymentSDK
是否链接到扩展名
IISWebapDeploy
中的所有任务。