创建我的第一个片段:试图自动添加引用(Creating my first snippet: tryi

2019-10-19 03:04发布

我试图创建我的第一个片段。 其中一个是我经常做的事情就是创建一个类包装对象用于读取的web.config或app.config文件。 下面是我的尝试。 其中一个,我想包括在片段中增加了System.configuration.dll文件的引用的东西。 当我执行段中,没有提及添加,但片断,否则工作。

假设这是可能的,而且我没有误会参考区间的意图,我究竟做错了什么? 我应该指定这个dll是什么文件路径? 我应该把它捡起来从GAC? 我应该使用哪个位置最让我这个片段转移到另一台电脑?

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a

另外,关于这个问题您有任何意见都欢迎。

谢谢!

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Keywords>
        <Keyword>appparam</Keyword>
      </Keywords>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>appparam</Title>
      <Author>Cigna</Author>
      <Description>
      </Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>appparam</Shortcut>
    </Header>
    <Snippet>
      <References>
        <Reference>
          <Assembly>"C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.configuration.dll"</Assembly>
        </Reference>
      </References>
      <Declarations>
        <Literal Editable="true">
          <ID>DatabaseConnectionString</ID>
          <ToolTip>
          </ToolTip>
          <Default>
          </Default>
          <Function>
          </Function>
        </Literal>
        <Literal Editable="true">
          <ID>StringSetting</ID>
          <ToolTip>StringSetting</ToolTip>
          <Default>StringSetting</Default>
          <Function>
          </Function>
        </Literal>
        <Literal Editable="true">
          <ID>IntegerSetting</ID>
          <ToolTip>IntegerSetting</ToolTip>
          <Default>IntegerSetting</Default>
          <Function>
          </Function>
        </Literal>
      </Declarations>
      <Code Language="csharp"><![CDATA[    public static class ApplicationParameter
    {
        public static string $DatabaseConnectionString$
        {
            get
            {
                return ConfigurationManager.ConnectionStrings["$DatabaseConnectionString$"].ConnectionString;
            }         

        public string $StringSetting$
        {
            get
            {
                return ConfigurationManager.AppSettings["$StringSetting$"].ToString();
            }
        }

        public int $IntegerSetting$
        {
            get
            {
                return (int))ConfigurationManager.AppSettings["$IntegerSetting$"];
            }
        }   
    }
    $end$]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

编辑

我做了一些更多的挖掘,我看到这个 MS的例子。 我决定把这个页面上的代码片段保存到一个文件片断,并看看它是否会添加引用System.Data.dll中。 由于该DLL似乎是自动添加的,我手动删除从项目的引用,然后跑了下面的代码片段。 该片段插入的代码,但是也没有参考。

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet>
        <Header>

            <!-- Add Header information here -->

        </Header>
        <Snippet>
            <References>
                <Reference>
                    <Assembly>System.Data.dll</Assembly>
                </Reference>
            </References>
            <Imports>
                <Import>
                    <Namespace>System.Data</Namespace>
                </Import>
            </Imports>

            <!-- Add rest of code snippet here -->

        </Snippet>
    </CodeSnippet>
</CodeSnippets>

我使用编辑器找到这里 ,但我看到它不允许一个设置URL属性,所以我想另外一个,做了 ,但仍没有运气。

文章来源: Creating my first snippet: trying to auto add a reference