如何在 VSTS Release 中将 VSIX 发布到 MyGet?

How to publish a VSIX to MyGet in VSTS Release?

我有一个内置于 VSTS 中的 VSIX。我有一个版本,我想将该 VSIX 发布到 MyGet。我可以将 NuGet 包上传到我的 MyGet-NuGet 源,但我不知道如何将 VSIX 包上传到我的 MyGet-VSIX 源。

这个 link: Publish to MyGet from a VSTS Build 仅适用于 NuGet。

您可以从构建服务器到提要执行 HTTP POST,以从您的持续集成过程中添加 Visual Studio 扩展。 POST URL 的格式为/F//vsix/upload。请注意,您还必须使用有效的 API 密钥添加 X-NuGet-ApiKeyheader。

另一种选择是将您的 VSTS 构建作为包源添加到您的提要中。然后 MyGet 将找到已发布的 VSIX 并自动将其添加到您的提要中。

这可能晚了一年,但我刚刚遇到了这个问题,这就是我解决它的方法。我是针对 MyGet 的企业版执行此操作的,这意味着我有自己的域名,但除此之外应该是一样的。

在构建结束时,我添加了一个命令行任务。

在任务的脚本部分,我添加了以下内容:

curl -X POST --verbose --data-binary @"$(build.artifactstagingdirectory)\templates\Enterprise-Template\EnterpriseBotVSIX\bin$(BuildConfiguration)\EnterpriseBotTemplate.vsix" -H "X-NuGet-ApiKey: [KEY GOES HERE]" https://botbuilder.myget.org/F/aitemplates/vsix/upload