В ответ на мой вопрос я хочу создать новый проект на основе шаблона, который уже был протестирован и работает нормально, но у меня возникли две проблемы, когда я попытался сделать это в коде C # (в проекте mvc3) .
EnvDTE80, EnvDTE90 и EnvDTE100
, потому что я пытался выполнить этот пример с EnvDTE100
, но это не работает, потому что дескриптор объекта это Решение4
не Решение2
и Решение4
по-разному. ОБНОВЛЕНИЕ
вот код, который работает, если я использовал dll под названием EnvDTE80
System.Type type = System.Type.GetTypeFromProgID("VisualStudio.DTE.8.0");
Object obj = System.Activator.CreateInstance(type, true);
EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)obj;
Solution2 _solution = (Solution2)dte.Solution;
string projectTemplatePath = @"C:\Documents and Settings\jmachado\Escritorio";
projectTemplatePath =_solution.GetProjectTemplate("",""); <-- looking for some overload to create project based in a specific folder an not from ':\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\Language.'
Но если я использовал EnvDTE100
System.Type type = System.Type.GetTypeFromProgID("VisualStudio.DTE.10.0");
Object obj = System.Activator.CreateInstance(type, true);
EnvDTE100.DTE2 dte = (EnvDTE100.DTE2)obj;
Solution4 _solution = (Solution4)dte.Solution;
string projectTemplatePath = @"C:\Documents and Settings\jmachado\Escritorio";
projectTemplatePath =_solution.GetProjectTemplate("",""); <-- looking for some overload to create project based in a specific folder an not from ':\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\Language.'
и сказал, что DTE2 не выходит из пространства имен EnvDTE100