如何从命令行调用自定义Visual Studio向导?

时间:2009-11-04 00:29:07

标签: c# visual-studio wizard

我们有一个使用DTE环境编写的Visual Studio向导,可以根据一些自定义数据库内容自动生成代码,模板等。现在它会显示一些对话框,收集信息,然后使用EnvDTE类生成代码并对其进行格式化。

鉴于我从可用的对话框中收集了信息,有没有办法调用devenv并运行向导来自动生成代码?

2 个答案:

答案 0 :(得分:1)

答案是使用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");

答案 1 :(得分:0)

您当然可以从命令行运行Visual Studio。您甚至可以让它执行命令(devenv /Command ...),但它仍然意味着引导整个Visual Studio。如果这是您想要的,它几乎不适合以批处理模式运行。

您可以使用CodeDom代码生成。它不会在EnvDTE或Visual Studio中的任何其他内容中继以生成代码。在我的代码生成器中,我也开始使用Visual Studio Automation,但是当涉及批量生成时,我不得不使用CodeDom重做它