C# 代码片段不会自动导入命名空间

标签 c# .net visual-studio

我有 Dbset 的代码片段<>

<CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>DbSet</Title>
    <Author>Կյանքի Համար</Author>
    <Shortcut>dbset</Shortcut>
    <Description>Add entity into context </Description>
    <SnippetTypes>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Imports>
      <Import>
        <Namespace>Domain</Namespace>
      </Import>
    </Imports>
    <Declarations>
      <Literal>
        <ID>entity</ID>
        <ToolTip>Entity</ToolTip>
        <Default>Entity</Default>
      </Literal>
    </Declarations>
    <Code Language="csharp">
      <![CDATA[public DbSet<$entity$> $entity$s { get; set; }$end$      
      ]]></Code>
  </Snippet>
</CodeSnippet>

它正在生成:public DbSet<Game> Games { get; set; }

在这部分中,我为这个片段添加了命名空间。

<Imports>
    <Import>
       <Namespace>EDGE.Domain</Namespace>
    </Import>
 </Imports>

我相信当我使用这个片段时应该自动添加命名空间,但它没有。

我找不到 .snippet 文件每个属性的描述(是否有所有支持的属性及其含义的引用文档?)。 谁能告诉我什么是标签?

最佳答案

来自 MSDN :

命名空间元素 - 指定代码片段编译和运行时必须导入的命名空间。

检查一下 - 那里描述了所有代码段架构标记及其属性。

关于C# 代码片段不会自动导入命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7361798/

相关文章:

C# 将两个值 int.MaxValue 的变量相乘不会导致 OverflowException

c# 从字符串创建一个对象的实例

c# - HttpResponse.End 与 HttpResponse.Close 与 HttpResponse.SuppressContent

c# - 使用 IDictionary<TKey,TValue> 映射与 FluentNHibernate 的三元关联

javascript - 无法安装 Microsoft.Preview.WindowsAzure.ActiveDirectory.Authentication 目标 NETCore,版本 = v4.5

c++ - 更改项目以运行 VS2012 C++

c# - C# 处理窗口数据网格的鼠标滚动事件

c# - 从 DataGrid MVVM 中的 TextBox 读取文本(wpf 数据绑定(bind))

c# - 在 .NET 中寻找用于并发的静态代码分析工具,如 CheckThread for java

c++ - LNK2001:我的 boost 库(可能)构建不正确