As my question say I want to create a new project based in a template which already created an tested and works fine, but i have two problems when i tried to do it in C# code (in a mvc3 project).
- Which are the differences between
EnvDTE80, EnvDTE90 and EnvDTE100
because i tried to do this example with EnvDTE100
but it doesn't work because the object handle it's Solution4
not Solution2
and Solution4
doesn't have the same behavior.
- How can I create the project without use the default path, but an specific folder that i need
UPDATE
here's the code that works if I used the dll called 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 SettingsjmachadoEscritorio";
projectTemplatePath =_solution.GetProjectTemplate("",""); <-- looking for some overload to create project based in a specific folder an not from '<drive>:Program FilesMicrosoft Visual Studio 8Common7IDEProjectTemplatesLanguage.'
But if i used the 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 SettingsjmachadoEscritorio";
projectTemplatePath =_solution.GetProjectTemplate("",""); <-- looking for some overload to create project based in a specific folder an not from '<drive>:Program FilesMicrosoft Visual Studio 8Common7IDEProjectTemplatesLanguage.'
and Say's that DTE2 doesn't exit's in the namespace of EnvDTE100
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…