2011-07-15 232 views
8

後臺執行:我在哪裏可以找到IVCWizCtlUI

我有一個Visual Studio的C++自定義流程模板來創建自定義解決方案。當我們說新項目並選擇這個自定義模板時,它會詢問一個xml文件並創建一個visual C++解決方案,將xml文件中的值替換爲模板文件。

現在想做什麼?

我想讓這個過程自動化(沒有用戶介入打開visual studio並選擇自定義模板)。 Infact在C#中使用該組件。此組件與Visual Studio嚮導存在依賴關係,如示例所示javascript

面臨的困難是?

xml解析器是一個com組件,它將visual studio wizard作爲參數。只有當我正確設定這一點,我才能繼續下去。嚮導基本上實現了下面的界面。

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」

+0

偉大的第一篇文章。只是一個提示,爲了讓你的代碼很好地顯示,縮進4個空格。或者,您應該能夠選擇代碼並敲擊鍵盤組合:'Ctrl + K'。作爲最後一個提示,最後沒有必要包括最後的「謝謝」或你的名字,謝謝是不必要的,你的名字已經出現在頁面上。否則,很好的開始。 :) –

+0

@Jeff感謝您的反饋。我已經相應更新了。 –

回答

1

它可能不完全一樣的方向你想要去的,但你有沒有考慮使用CMake的(開源) 爲了那個原因?

CMake是一個工具,用於在不同平臺和IDE上自動設置代碼項目/工具集。 CMake也可以生成VisualStudio解決方案,所以你只需要設置你的CMake配置文件,然後生成解決方案。您還可以合併參數,以便用戶能夠成本更高地生成項目。

這是一個很棒的工具,可以在大多數平臺上運行,並且還有一個易於使用的GUI。檢查出來:http://www.cmake.org/

相關問題