我想在VS2013和VS2015中创建sql片段。我不知道为什么,但导入时出错(在两个VS中): “C:\ sql.snippet:缺少或未指定的语言属性”
我的片段:
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2008/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>
My Snippet
</Title>
</Header>
<Snippet>
<Code Language="SQL">
<![CDATA[select * from MyTable]]>
</Code>
</Snippet>
</CodeSnippet>
怎么了? 语言“SQL”应该没问题https://msdn.microsoft.com/en-US/library/ms171418.aspx#code
我尝试将此代码段添加到语言“Miscrosoft SQL Server数据工具,T-SQl ......” 如果我已将语言属性更改为例如“CSharp”它有效。
答案 0 :(得分:0)
试试这个。
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>
My Snippet
</Title>
</Header>
<Snippet>
<Code Language="SQL">
<![CDATA[select * from MyTable]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
你也可以检查一下它是否有效,但仍会发出警告。
http://providersweb.blogspot.se/2016/01/visual-studio-snippets-missing-or.html
我在Snippets输出窗口中收到了一个消息列表 当我加载一个项目,一些片段有一个“缺失”或 未指定的语言属性&#39;并无法弄清楚为什么这些 消息出现了。我检查了语言属性 片段,他们是正确的,但仍然得到了消息。我订了 每个语言类型的文件夹,但仍然收到消息。一世 终于弄清楚我已经指定他们都是VB片段 Snippet经理和那些不是VB的经理会导致 输出窗口中的消息,即加载VB项目时, CSharp片段会生成错误消息。我修好了 进入片段管理器并指定语言,VB或 CSharp,并将片段添加到正确的语言并删除 他们来自无效的语言。而现在这些消息无效 语言属性不会出现在我的输出屏幕上。
答案 1 :(得分:0)
而不是:
<Code Language="SQL">
写:
<Code Language="SQL_SSDT">
Visual Studio仅支持MSSQL Server数据工具&amp; T-SQL语言脚本,而不是像SSMS那样的SQL。
答案 2 :(得分:0)
您使用的语言属性值SQL
是正确的。从VS2015 Code Snippets Schema Reference:
如果直接在代码片段管理器已知的文件夹之一中编辑代码片段文件,则可能会出现诸如您看到的错误。显然,除了片段XML本身中的内容外,Visual Studio还拥有自己的元数据。因此,最好在临时文件夹中进行编辑,然后使用“导入”按钮。
例如,在将任何编辑保存到My Code Snippets
文件夹中的新C#代码段中时,我一直收到错误消息“ Missing or unspecified Language attribute”(或者缺少)。原来我在Visual Basic\My Code Snippets
文件夹中,并且还有一个Visual C#\My Code Snippets
文件夹,我应该在其中。这是一个愚蠢的错误,但是它说明“语言” XML属性是不够的,因为Visual Studio拥有自己的内部约定来处理不同代码段类型(以及谁知道其他什么)的不同文件夹,这些都在导入时发生按钮。
我将代码段文件删除到一个临时位置,然后使用“导入”按钮从那里将其添加。我这样做后,问题就消失了,代码段开始正常工作。