Visual Studio 2008代码段不添加引用程序集和/或导入命名空间

时间:2011-11-15 15:02:52

标签: visual-studio visual-studio-2008 code-snippets guidance-automation-tool

我正在开发一些代码片段,我发现Visual Studio不会自动添加对指定程序集的引用,也不会导入指定的命名空间。

我的代码段定义是:

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
        <CodeSnippet Format="1.0.0">
            <Header>
                <Title>MyTryCatch</Title>
                <Shortcut>myTryCatch</Shortcut>
            </Header>
            <Snippet>
                <References>
                    <Reference>
                    <Assembly>MyAssembly.dll</Assembly>
                </Reference>
                </References>
                <Imports>
                    <Import>
                        <Namespace>MyNamespace</Namespace>
                    </Import>
                </Imports>
                <Declarations>
                    <Object Editable="true">
                        <ID>Message</ID>
                        <Type>String</Type>
                        <ToolTip>Error message</ToolTip>
                        <Default>message</Default>
                        <Function></Function>
                    </Object>
                </Declarations>
                <Code Language="csharp" Kind="" Delimiter="$">
    <![CDATA[try
    {

    }
    catch (Exception exception)
    {
        throw new MyNamespace.MyException("$Message$", exception);
    }]]>
                </Code>
            </Snippet>
   </CodeSnippet>
</CodeSnippets>
</CodeSnippets>

请注意,我正在引用从“添加引用”弹出窗口(.NET选项卡)中可见的自定义MyAssembly.dll。

当我通过 myTryCatch 快捷方式使用上述代码段时,我能够看到代码段但没有添加引用,也没有导入。

我如何修复或调试此问题?

提前致谢!

1 个答案:

答案 0 :(得分:4)

听起来问题是你选择的语言。只有VB.Net支持引用程序集和从代码段导入名称空间。 C#引擎将忽略这些元素。

参考:http://msdn.microsoft.com/en-us/library/ms171438.aspx