静态内容托管
Azure DevOps Services
选择在自己的服务、第三方托管服务(如 Azure 或 Heroku)或直接在 Azure DevOps Services 上托管扩展的静态内容(如 HTML、CSS 和 JavaScript 文件)。
重要
如果扩展需要在 TFS 数据库中创建自定义表,请不要使用“dbo”架构创建它。 相反,应在单独的架构中创建自定义表。 例如,“YourExtensionName”。
提示
查看有关使用 Azure DevOps 扩展 SDK 进行扩展开发的最新文档。
在 Azure DevOps Services 上托管
在此模型中,静态内容与扩展的 .vsix 文件一起打包,并从 处 https://publisher.gallerycdn.vsassets.io
的公共终结点提供。
从Azure DevOps Services增强或修饰数据时,扩展的静态内容非常有用。 扩展发布服务器不要求你 (扩展发布者) 来设置、管理扩展或支付扩展的托管服务
步骤
- 在扩展清单文件中,通过
files
属性指定要包含的文件:{ "files": [ { "path": "scripts", "addressable": true }, { "path": "images/extra/icon1.png", "addressable": true } ] }
-
baseUri
如果从扩展清单) 设置,请删除属性 (。 - 将扩展打包 (步骤)
- 发布 (或重新发布) 扩展 (步骤)
> [!重要提示] >对 .vsix 中包含的静态内容文件进行更改时,请确保递增扩展名的版本。
请记住:
- 属性
path
指定的值可以是文件夹或单个文件。 如果为文件夹,则包含整个文件夹 (以及) 的任何子文件夹。 - 属性
addressable
非常重要,它告知 Visual Studio Codespaces 使文件 () URL 可寻址。 - 所有
addressable
资产请求都区分大小写。 如果资产请求与实际上传的资产不同,则会导致 HTTP 404 (“找不到”) 错误。 - 如果不指定 baseUri 或设置空值,则会告知 Visual Studio Codespaces 在运行时计算基 URI,就像Azure DevOps Services托管的静态内容一样。
托管在自己的服务 (或第三方服务)
在此模型中,静态内容由你自己的服务提供,不包括在扩展的 .vsix 文件中。
步骤
-
baseUri
在扩展清单中设置 属性 例如,假设 值为https://myservice.net/extension
和此中心贡献:
"baseUri": "https://myservice.net/extension",
"contributions": [
{
"id": "Fabrikam.HelloWorld",
"type": "ms.vss-web.hub",
"targets": [
"ms.vss-work-web.work-hub-group"
],
"properties": {
"name": "Hello",
"uri": "hello-world.html"
}
}
]
Azure DevOps Services在 上呈现https://myservice.net/extension/hello-world.html
时加载此中心的内容。