2012-06-27 65 views
1

要求:如何避免在IWizard中創建默認項目?

用戶具有在指定的路徑創建項目(位於C說:\ MyProject的\ XYZTest)。如果沒有(說用戶給C:\ MyProject的\ DummyFolder),那麼應用程序應該終止無需創建任何項目。

觀察下面的代碼

public void ProjectFinishedGenerating(Project project) 
     { 
      try 
      { 
       string l_basepath = string.Empty; 
       var ProjectProperties = project.ProjectItems; 
       var SolnPath = ProjectProperties.Item(1).FileNames[1]; 

       if (SolnPath.IndexOf("XYZTest") > 0) 
       { 
         //set the project path 
       } 
       else 
       { 
        MessageBox.Show("Please select valid project location"); 
        Application.Exit(); 

       } 
} 

的代碼進行檢查,如果項目的位置路徑中包含「XYZLocation」字符串,那麼只有用戶可以繼續創建項目其他應用程序應該退出。

這個工程,但重點是,退出後它也創建了默認項目。因爲我們已經在IWizard的「ProjectFinishedGenerating」方法中實現了它。因此,爲了避免這種情況,我認爲我們需要在IWizard的「RunStarted」方法中做到這一點。但是,我無法獲得

var ProjectProperties = project.ProjectItems; 
var SolnPath = ProjectProperties.Item(1).FileNames[1]; 

的問題是

a) Is my idea and approach is correct (to do in the RunStarted method)? 
b)If so, how can I do it? 
c)If not, what is the way to achieve so? 

手段,如果應用程序存在,有shoould不會在用戶指定的任何位置產生的任何項目。

謝謝

回答

0

我不能評論,這就是爲什麼我使用的答案。

我有同樣的問題,我唯一的解決方案是Application.Exit();。 此解決方案無效,因爲它會殺死整個visual studio。 有人有更好的嗎?

相關問題