我们有一个基于Visual Studio的向导使用DTE环境自动生成的代码,模板等..写了一些自定义的数据库的东西。现在,它带来了几个对话框,收集信息,然后使用EnvDTE类来生成代码,并对其进行格式化。

考虑到我有从可用的对话框中收集的信息

,有一个方法来调用devenv的和具有它运行向导来自动生成的代码?

有帮助吗?

解决方案

这个问题的答案是使用DTE2界面视觉工作室自动化。例如,我创建的Visual Studio新实例

Type t = Type.GetTypeFromProgID("VisualStudio.DTE.9.0", true);
object obj = System.Activator.CreateInstance(t, true);
m_DTEInstance = obj as DTE2;

然后就可以做的事情,例如,创建新的解决方案:

Solution2 solution = (Solution2)m_DTEInstance.Solution;
solution.Create(OutputDirectory, Namespace + ".sln");

其他提示

您当然也可以运行在命令行的Visual Studio。你甚至可以把它执行命令(devenv /Command ...),但它仍然意味着自举整个的Visual Studio。这是很难适用于批处理模式下运行,如果这是你想要的东西。

你可以做的,而不是为使用的CodeDOM代码生成。它不中继上EnvDTE或任何从Visual Studio否则生成的代码。在我的代码生成器我也从使用Visual Studio自动化开始,但是当它来到批量建造,我一直在使用的CodeDOM而不是重做

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top