Создание проекта Visual Studio программным способом

В ответ на мой вопрос я хочу создать новый проект на основе шаблона, который уже был протестирован и работает нормально, но у меня возникли две проблемы, когда я попытался сделать это в коде C # (в проекте mvc3) .

  1. В чем разница между EnvDTE80, EnvDTE90 и EnvDTE100 , потому что я пытался выполнить этот пример с EnvDTE100 , но это не работает, потому что дескриптор объекта это Решение4 не Решение2 и Решение4 по-разному.
  2. Как я могу создать проект, не используя путь по умолчанию, но конкретную папку, которая мне нужна

ОБНОВЛЕНИЕ

вот код, который работает, если я использовал 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

11
задан John Saunders 11 January 2012 в 18:55
поделиться