0

Как мы реализуем кнопку «OK/Отправить», если пользователь выбрал свои настройки, и он готов начать работу над своим новым проектом? Кроме того - кнопка «Отмена» - изящно выйти из мастера и вернуться в диалоговое окно «Новый проект» без создания проекта.Как реализовать кнопки «Отправка» и «Отмена» в реализации IWizard

ответ

1

Интерфейс IWizard (пространство имен Microsoft.VisualStudio.TemplateWizard) не дает вам полного контроля над созданием проекта. Это позволяет вам делать некоторые вещи на определенных этапах создания проекта. Это отменяемый бросок WizardCancelledException. Смотрите также this explanation, а также:

Pitfalls of cancelling a VSIX project template in an IWizard

Если вы хотите полный контроль Вы можете использовать старый COM-интерфейс IDTWizard (EnvDTE пространства имен) вместо, который обеспечивает единый метод Execute, где вы можете показать форму (отменяемый) и добавить проект/файлы с помощью EnvDTE.Solution.AddFromTempleate, EnvDTE.ProjectItems.AddFromTemplate и т.д. См мой пост:

Project templates wizards (IWizard vs IDTWizard)

+0

Спасибо за ваш ответ Карлос. Я использовал ваш блог в течение последних двух недель, чтобы правильно разработать расширение. Я уже пробовал эту статью. Но он просто бросает исключение, не возвращаясь в новое диалоговое окно проекта. Я попытаюсь реализовать старый интерфейс IDTWizard – Vla

+0

Я добавил новую ссылку на ответ «Ловушки отмены ...». Посмотрите, помогает ли это, поскольку существуют исключения WizardCancelledException и WizardBackoutException. –

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