EnvDTE Visual Studio 2013: получить проги?

Я пытаюсь создать экземпляр Visual Studio с помощью:

EnvDTE80.DTE2 dte2;
dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.12.0");

И у меня всегда возникает исключение "Недопустимая строка класса", поэтому я предполагаю, что проблема заключается в "VisualStudio.DTE.12.0". Но я работаю над Visual Studio 2013 12.0.30501, я также пытался поставить только "VisualStudio.DTE", чтобы получить самую последнюю версию, и то же исключение.

Также я попробовал другой способ:

Type t = Type.GetTypeFromProgID("VisualStudio.DTE.12.0", true);
dte2 = (EnvDTE80.DTE2)System.Activator.CreateInstance(t, true);

Проблема все еще там, я немного выдумал... Это действительно неверная строковая ошибка?

1 ответ

Если вы используете Visual Studio 2013 Express, это работает, чтобы исправить это:

Type t = Type.GetTypeFromProgID("WDExpress.DTE.12.0", true);
var x = (EnvDTE80.DTE2)System.Activator.CreateInstance(t, true);
Другие вопросы по тегам