4

Я создал мастер для настраиваемого шаблона в VS2010 И он работает как шарм.Отмена создания проекта VS2010 от мастера

Но поскольку мастер содержит форму, необходимую для завершения создания проекта, я чувствую, что пользователь должен иметь возможность отменить создание проекта.

Так что мой вопрос заключается в том ..

Можно ли отменить создание процесса проекта/шаблона внутри мастеров, реализующих IWizard?

Это те события, которые я получил в своем распоряжении.

public void BeforeOpeningFile(ProjectItem projectItem) 

public void ProjectFinishedGenerating(Project project) 

public void ProjectItemFinishedGenerating(ProjectItem projectItem) 

public void RunFinished() 

public void RunStarted(object automationObject, 
     Dictionary<string, string> replacementsDictionary, 
     WizardRunKind runKind, object[] customParams) 

public bool ShouldAddProjectItem(string filePath) 

Спасибо!

ответ

8

Да. Чтобы указать, что пользователь отменил мастер, просто добавьте новый WizardCancelledException в свою реализацию IWizard.

Очень интересная статья, которая объясняет все это: Pitfalls of cancelling a VSIX project template in an IWizard

+0

Прежде чем я сделал это путем удаления проекта из события ProjectFinishedGenerating. И это фактически работает точно так же, как исключение из метода RunStarted. У вас все еще есть пустая папка с решением внутри папки проектов. Но по крайней мере его «правильный путь», чтобы сделать это, спасибо =) – Moulde

+7

Этот поток устарел, однако с Visual Studio 2012 существует исключение WizardBackoutException, которое вернет вас на экран New Project и не создаст пустую папку проекта для вашего решения. – Rockdocta

+0

@Rockdocta Бросок «WizardBackoutException» в ** VS2013 ** возвращается, однако папка ** остается на диске ** – MickyD

Смежные вопросы