使用 vscontent 分发 SQL_SSDT 代码片段(lang 属性错误)
Distribute SQL_SSDT Code Snippets using vscontent (lang attribute error)
我正在尝试使用 .vsi
和 .vscontent
文件分发一些 SQL_SSDT Visual Studio 代码片段,但我在安装时遇到错误:
The .vscontent file either contains invalid attributes or specifies a code snippet for a programming language that is not installed.
.vscontent
文件基于 Microsoft How to: Distribute Code Snippets
提供的文档
本网站的示例如下:
<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
<Content>
<FileName> </FileName>
<DisplayName> </DisplayName>
<Description> </Description>
<FileContentType> </FileContentType>
<ContentVersion>2.0</ContentVersion>
<Attributes>
<Attribute name="lang" value=""/>
</Attributes>
</Content>
</VSContent>
我的文件如下所示:
<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
<Content>
<FileName>SSDTTest.snippet</FileName>
<DisplayName>SSDTTest</DisplayName>
<Description>SSDTTest</Description>
<FileContentType>Code Snippet</FileContentType>
<ContentVersion>1.0</ContentVersion>
<Attributes>
<Attribute name="lang" value="SQL_SSDT"/>
</Attributes>
</Content>
</VSContent>
我使用值 SQL_SSDT
因为这是 .snippet
文件 (<Code Language="SQL_SSDT">
) 中的必需值。
安装如期开始(双击.vsi
文件),弹出VS Content Installer,列出包含的内容。错误发生在点击 Finish
之后。 (安装开始,但几秒后弹出上述错误。)
如果我将它复制到 SSDT (Documents\Visual Studio 2012\Code Snippets\SQL_SSDT\My Code Snippets
) 的默认代码片段文件夹,或者如果我通过 SSDT 中的代码片段管理器添加它,该代码片段工作正常,但 .vsi
安装失败使用上述文件。
我是不是漏掉了什么?
此盒子上安装的 VS 产品:
- SSDT
- SSDT-BI
- 桌面版 VS Express (2012)
更新
我找到了 XML schema reference for the .vscontent
files (VS2012),SQL_SSDT 似乎不是 Lang
属性的有效值。它表明 lang
属性只有四个可用值。 (csharp
, jsharp
, vb
, xml
).
现在的问题是:SSDT 是否为此 XML 架构添加任何扩展?
VS Content Installer 似乎不支持部署 SSDT 代码片段。有一个帖子 idea on visualstudio.uservoice.com 请求此功能,但它仍处于打开状态。
我没有找到与此问题相关的任何其他资源。
有一个可能的解决方法,需要测试:您可以创建一个 PS/BAT 将代码片段文件复制到 VS 的 SSDT 代码片段文件夹中。
我正在尝试使用 .vsi
和 .vscontent
文件分发一些 SQL_SSDT Visual Studio 代码片段,但我在安装时遇到错误:
The .vscontent file either contains invalid attributes or specifies a code snippet for a programming language that is not installed.
.vscontent
文件基于 Microsoft How to: Distribute Code Snippets
本网站的示例如下:
<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
<Content>
<FileName> </FileName>
<DisplayName> </DisplayName>
<Description> </Description>
<FileContentType> </FileContentType>
<ContentVersion>2.0</ContentVersion>
<Attributes>
<Attribute name="lang" value=""/>
</Attributes>
</Content>
</VSContent>
我的文件如下所示:
<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
<Content>
<FileName>SSDTTest.snippet</FileName>
<DisplayName>SSDTTest</DisplayName>
<Description>SSDTTest</Description>
<FileContentType>Code Snippet</FileContentType>
<ContentVersion>1.0</ContentVersion>
<Attributes>
<Attribute name="lang" value="SQL_SSDT"/>
</Attributes>
</Content>
</VSContent>
我使用值 SQL_SSDT
因为这是 .snippet
文件 (<Code Language="SQL_SSDT">
) 中的必需值。
安装如期开始(双击.vsi
文件),弹出VS Content Installer,列出包含的内容。错误发生在点击 Finish
之后。 (安装开始,但几秒后弹出上述错误。)
如果我将它复制到 SSDT (Documents\Visual Studio 2012\Code Snippets\SQL_SSDT\My Code Snippets
) 的默认代码片段文件夹,或者如果我通过 SSDT 中的代码片段管理器添加它,该代码片段工作正常,但 .vsi
安装失败使用上述文件。
我是不是漏掉了什么?
此盒子上安装的 VS 产品:
- SSDT
- SSDT-BI
- 桌面版 VS Express (2012)
更新
我找到了 XML schema reference for the .vscontent
files (VS2012),SQL_SSDT 似乎不是 Lang
属性的有效值。它表明 lang
属性只有四个可用值。 (csharp
, jsharp
, vb
, xml
).
现在的问题是:SSDT 是否为此 XML 架构添加任何扩展?
VS Content Installer 似乎不支持部署 SSDT 代码片段。有一个帖子 idea on visualstudio.uservoice.com 请求此功能,但它仍处于打开状态。
我没有找到与此问题相关的任何其他资源。
有一个可能的解决方法,需要测试:您可以创建一个 PS/BAT 将代码片段文件复制到 VS 的 SSDT 代码片段文件夹中。