2014-07-23 75 views
0

我已經使用C++自定義嚮導(VS 2010)創建了新項目模板。我想在Default.js的OnFinish事件中添加新項目模板時進行一些自定義文件。在C++自定義嚮導中創建項目模板之前獲取現有的解決方案名稱

我的項目需求需要將現有的解決方案名稱附上「Resources」文本作爲使用我的C++嚮導添加的新項目的名稱。

例如。解決方案名稱:MySolution
現有項目名稱:MyWin32Project
新建項目應創建名稱爲:MySolutionResources

因此,要達致這,我需要現有解決方案的解決方案的名稱加入我的project.Currently我正在追加前的「資源」串給出的,而template.I的創作中使用了下面的一行項目名稱:

var strProjectName = wizard.FindSymbol('PROJECT_NAME'); 
var strNewProjectName = strProjectName + "Resources"; 
selProj = CreateCustomProject(strNewProjectName, strNewProjectPath); 

我試圖與下面的行,但它給我的項目名稱而創建給出:

var strSolutionName = wizard.FindSymbol("VS_SOLUTION_NAME");//not giving me the solution name 
var strNewProjectName = strSolutionName + "Resources"; 

有人可以幫助我嗎?

問候, Deepthi

回答

1

實測值的溶液.. !!

寫如下的代碼來獲取現有解決方案的名稱:

var strSolutionPath = dte.Solution.Properties.Item("Path").Value; 
var strFullSolutionName = strSolutionPath.substr(strSolutionPath.lastIndexOf("\\") + 1); 
var strSolutionName = strFullSolutionName.substr(0, strFullSolutionName.lastIndexOf(".sln")); 

問候, Deepthi

+0

我認爲這是他們只在VS 2017現在VS 2017年修正了一個錯誤突然開始創建。 sln和.vcxproj在不同的目錄中,因爲它總是必須考慮common.js中的CreateProject函數。 – noxmetus

相關問題