如何:打包组件以使用 Visual Studio 内容安装程序
Visual Studio 内容安装程序提供了一种部署外接程序和代码段扩展 Visual Studio。有关其他部署策略的更多信息,请参见Visual Studio 扩展部署。
若要使一个扩展成为可以通过 Visual Studio 内容安装程序进行安装的扩展,请将该扩展打包成一个 .vsi 文件,此文件通常称为社区组件。Visual Studio 内容安装程序自动将社区组件中的项复制到开发人员计算机上的正确目录下,以便这些项显示在 Visual Studio 的正确对话框中。
若要使用 Visual Studio 内容安装程序来安装您的社区组件,必须为该组件创建一个 .vscontent 文件。创建 .vscontent 文件后,即可将组件文件和 .vscontent 文件压缩为一个 .zip 文件,并将文件扩展名从 .zip 更改为 .vsi。然后,您可以使用所确定的任何方法将该 .vsi 文件分发给其他开发人员,例如:使该文件可供从网站下载,将该文件以电子邮件附件的形式发送,或者将该文件发布在网络共享上等等。
.Vscontent 文件
.Vscontent 文件使用基于 Visual Studio 内容安装程序架构参考的 XML 来描述您已创建并打算共享的组件。在最小权限,.vscontent 文件标识元素和应使用种类 Visual Studio 的版本。在创作 .vscontent 文件后,可以创建 Visual Studio 内容安装程序在开发人员的计算机上使用安装组件的 .vsi 文件。
创建基本的 .vscontent 文件
在**“文件”菜单上指向“新建”,然后单击“文件”**。
在**“常规”类别中,选择“XML 文件”,然后单击“打开”**。
使用 Visual Studio 内容安装程序架构参考创建一个有效的 .vscontent 文件。
说明 在本主题的“示例”部分中可以找到 .vscontent 文件的示例 XML。
将此 .vscontent 文件与跟社区组件相关的其他文件保存在同一目录中。
.VSI 文件
Visual Studio 内容安装程序 (.vsi) 文件用于在开发人员社区中交换 Visual Studio 内容。.vsi 文件是一个重命名的 .zip 文件,它包含以下组件:
一个描述社区组件的 XML .vscontent 文件。
组件的文件。
Visual Studio 内容安装程序使用 .vsi 文件将共享内容安装到正确位置。有关如何安装 .vsi 文件的更多信息,请参见如何:查找和安装社区组件。
Visual Studio 内容安装程序的某些功能需要其他工具或服务才能实现。
若要在 Visual Studio 内容安装程序中显示您的社区组件的发行者信息,您必须为 .vsi 文件签名。有关更多信息,请参见加密服务。
若要在 Visual Studio 内容安装程序中显示最终用户许可协议 (EULA),则必须将此信息嵌入 .zip 文件。WinZip 支持通过注释功能来包含嵌入信息。有关 WinZip 的更多信息,请参见 http://www.winzip.com。有关注释功能的更多信息,请参见 WinZip 帮助文件。
创建基本的 .vsi 文件
如果还没有为组件创建一个有效的 .vscontent 文件,请进行创建。有关更多信息,请参见本主题前面的“.VSCONTENT 文件”部分。
在 文件资源管理器,选择组件所需的文件,包括 .vscontent 文件。
右击所选的文件,指向**“发送到”,然后单击“压缩(zipped)文件夹”**。
所选的文件将压缩为单个 .zip 文件。
将 .zip 文件的扩展名重命名为 .vsi。
示例
下面的示例显示包含外接程序的 .vsi 文件的一个 .vscontent 文件。将 <ContentVersion> 元素设置为 2.0,这表示该外接程序仅与 Visual Studio 版本 9.0 和 10.0 兼容。
下列文件将包含在此内容的 .vsi 文件中:
一个 .vscontent 文件,该文件包含此示例中显示的 XML。
外接程序注册文件 MyAddin.Addin。
已编译的外接程序 .dll 文件 MyAddin.dll。
外接程序文件安装在以下目录中:
n:\...\My Documents\Visual Studio <版本>\Addins\
有关其他示例,请参见How to: Publish Project Templates和如何:分发代码段。
<VSContent xmlns="https://schemas.microsoft.com/developer/vscontent/2005">
<Content>
<FileName>MyAddin.Addin</FileName>
<FileName>MyAddin.dll</FileName>
<DisplayName>Example Add-in</DisplayName>
<Description>An add-in created for this example.</Description>
<FileContentType>Addin</FileContentType>
<ContentVersion>2.0</ContentVersion>
</Content>
</VSContent>