如何在多项目 .vstemplate 中包含外部文件?
我正在创建一个 VS2010 多项目模板,并尝试从 vstemplate 添加一个文件(.hgignore)到解决方案(而不是项目)。
我尝试了这个,但它不起作用:
< VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup">
< TemplateData>...< /TemplateData>
< TemplateContent >
< ProjectItem> .hgignore < /ProjectItem >
< ProjectCollection >
< ProjectTemplateLink ProjectName="$safeprojectname$.xxx">....< /ProjectTemplateLink>
< ProjectTemplateLink ProjectName="$safeprojectname$.xxx">....< /ProjectTemplateLink>
< /ProjectCollection>
< /TemplateContent>
< /VSTemplate>
非常感谢你
PS:我无法在编辑器中创建正确的 XML 标签,所以我不得不添加空格...
I'm creating a VS2010 multi project template and I'm trying to make add a file (.hgignore) to the solution (not into a project) from the vstemplate.
I tried this but it doesn't work :
< VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup">
< TemplateData>...< /TemplateData>
< TemplateContent >
< ProjectItem> .hgignore < /ProjectItem >
< ProjectCollection >
< ProjectTemplateLink ProjectName="$safeprojectname$.xxx">....< /ProjectTemplateLink>
< ProjectTemplateLink ProjectName="$safeprojectname$.xxx">....< /ProjectTemplateLink>
< /ProjectCollection>
< /TemplateContent>
< /VSTemplate>
Thank you very much
PS : I can't manage to make correct XML tag in the editor so I had to add white space...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
没有内置的方法可以做到这一点。但是,VSTemplate 向导引擎支持可扩展性模型,使您可以在解决方案/项目创建过程中运行自定义逻辑。您需要实现一个实现 IWizard 接口,然后在 .vstemplate 文件中添加WizardExtension 元素。
查看 Craig Skibo 在 此问题上的回答MSDN 论坛问题,了解有关通过 IWizard.RunFinished 方法使用 DTE 自动化 API 添加解决方案项的详细信息。
There is no built-in way to do this. However, the VSTemplate wizard engine supports an extensibility model that lets you run custom logic during the solution/project creation process. You need to implement a class that implements the IWizard interface and then add a WizardExtension element in your .vstemplate file.
Check out Craig Skibo's answer on this MSDN forum question for the details on using the DTE automation API from your IWizard.RunFinished method to add a solution item.
可以通过 IWizard 以编程方式执行此操作。
示例向导,从 VSIX 复制 Nuget.Config(通过“包含在 VSIX 中”属性包含):
It is possible to do this programmatically via IWizard.
Example Wizard, which copies Nuget.Config from VSIX(which is included via "Include in VSIX" property):