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);