Фрагмент кода Visual Studio 2008 не добавляет ссылочную сборку и / или пространство имен импорта - PullRequest
2 голосов
/ 15 ноября 2011

Я разрабатываю некоторый фрагмент кода и обнаружил, что 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>

Обратите внимание, что я ссылаюсь на пользовательский файл MyAssembly.dll, который отображается во всплывающем окне «Добавить ссылку» (вкладка .NET).

Когда я использую приведенный выше фрагмент с помощью ярлыка myTryCatch , я могу видеть код фрагмента, но ссылка не добавлена ​​и импорт не выполнен.

Как исправитьили устранить эту проблему?

Заранее спасибо!

1 Ответ

4 голосов
/ 15 ноября 2011

Похоже, проблема в том, что вы выбрали язык.Только VB.Net поддерживает эталонные сборки и импорт пространств имен из фрагмента кода.Движок C # будет игнорировать эти элементы.

Ссылка: http://msdn.microsoft.com/en-us/library/ms171438.aspx

...