我在哪里可以找到IVCWizCtlUI的实现

时间:2011-07-15 07:29:20

标签: c#

背景:

我有一个visual studio C ++自定义项目模板来创建自定义解决方案。当我们说新项目并选择这个自定义模板时,它会要求一个xml文件并创建一个visual c ++解决方案,将xml文件中的值替换为模板文件。

我现在想做什么?

我想自动执行此过程,(无需用户干预即可打开visual studio并选择自定义模板)。事实上,在C#中使用该组件。此组件与visual studio向导具有依赖关系,如示例javascript

中所示

面临的困难?

xml解析器是一个com组件,它将visual studio向导作为参数。只有我正确地设置了这个,我才能继续前进。该向导基本上实现了以下界面。

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.vswizard.ivcwizctlui_members(v=VS.90).aspx

不确定如何在C#中访问此向导。

当前的Javascript代码:

var aConverter = new ActiveXObject("NAMESPACE.MYParser");

//Problem: Not sure how to set this value, when "NAMESPACE.MYParser" used in C#
aConverter.Wizard = window.external;

aConverter.Filename = xmlfile;

//This method if called from C# without setting "aConverter.Wizard" throws exception
aConverter.ParseMyXML();

var value = aConverter.Someproperty;

之前的研究:

我尝试使用dte.LaunchWizard,但仍然会弹出一个UI,我需要避免。 LaunchWizard不适合我,因为我想在C#中直接控制“NAMESPACE.MYParser”

1 个答案:

答案 0 :(得分:1)

可能与您想要的方向不完全相同,但您是否考虑过使用 CMake (开源)?

CMake是一种在不同的平台和IDE上自动设置代码项目/工具集的工具。 CMake还可以生成VisualStudio解决方案,因此您只需设置CMake配置文件,然后生成解决方案即可。您还可以合并参数,以便用户能够对项目进行成本化,以便进一步生成。

这是一个很棒的工具,可以在大多数平台上运行,并且还有一个易于使用的GUI。看看:http://www.cmake.org/