Как мы реализуем кнопку «OK/Отправить», если пользователь выбрал свои настройки, и он готов начать работу над своим новым проектом? Кроме того - кнопка «Отмена» - изящно выйти из мастера и вернуться в диалоговое окно «Новый проект» без создания проекта.Как реализовать кнопки «Отправка» и «Отмена» в реализации IWizard
0
A
ответ
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 и т.д. См мой пост:
Спасибо за ваш ответ Карлос. Я использовал ваш блог в течение последних двух недель, чтобы правильно разработать расширение. Я уже пробовал эту статью. Но он просто бросает исключение, не возвращаясь в новое диалоговое окно проекта. Я попытаюсь реализовать старый интерфейс IDTWizard – Vla
Я добавил новую ссылку на ответ «Ловушки отмены ...». Посмотрите, помогает ли это, поскольку существуют исключения WizardCancelledException и WizardBackoutException. –