如何防止项目从模板中生成



我正在创建多项目Visual Studio模板。我创建了VSIX软件包项目和向导类库。vSIX项目的源。在向导类库中,我添加了一个Windows表单,以收集用户输入。我需要根据用户输入,将模板附加项目添加到生成的解决方案中。我的解决方案VSTEM PLATER文件看起来像:

<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
   <TemplateData>
   ...
   </TemplateData>
   <TemplateContent>
     <ProjectCollection>
       <SolutionFolder Name="App">
          <ProjectTemplateLink ProjectName="$safeprojectname$.Core">
            CoreCore.vstemplate
          </ProjectTemplateLink>
          ...
       </SolutionFolder>
     </ProjectCollection>
   </TemplateContent>
   <WizardExtension>
     ...
   </WizardExtension>
</VSTemplate>

,但要出现的是,该文件中未列出的项目未使用模板添加到zip中。所以我想,我有两种处理方法:

  1. 将我的所有项目添加到Vstemplate中,并以编程方式阻止其中一些项目添加到解决方案中。
  2. 以某种方式改变构建过程,并迫使Visual Studio在构建过程中添加内容。

我认为第二种方法更加复杂。所以我的最后一个询问是如何停止从Wizzard的模板中生成项目?

好吧,似乎我找到了答案。我创建了其他向导,并在所有儿童.Vstemplate文件中添加了链接。在此向导中,我会检查替换dictionary [" $ safeprojectName $"],如果我不需要添加此项目,我只是扔WizardCanceLedException,并且不会生成该项目。但是该项目的文件夹仍将创建。简单呼叫Directory.delete()修复了它。

相关内容

  • 没有找到相关文章

最新更新