2

いくつかのコード スニペットを開発していますが、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ショートカットで使用すると、スニペット コードは表示されますが、参照が追加されず、インポートも行われません。

この問題を修正またはデバッグするにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

4

問題は言語の選択にあるようです。VB.Net のみが参照アセンブリとコード スニペットからの名前空間のインポートをサポートしています。C# エンジンはこれらの要素を無視します。

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

于 2011-11-15T15:05:42.253 に答える