微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 在Visual Studio 2012中使用多个非嵌套文件创建项模板

我正在寻找创建一个新的Visual Studio 2012项目模板,生成五个文件,其中三个是嵌套的,一个不是.它应该如下所示:

MyView1.View
   MyView1.view.cs
   MyView1.data.cs
   MyView1.gen.cs

MyView1.js

(我需要将JavaScript文件分开的原因是由于将其用作嵌入式资源以在运行时动态提取以进行解析的问题.)

这是我到目前为止提出的模板文件

<Vstemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
    <DefaultName>MyView.view</DefaultName>
    <Name>MVC Desktop View - Integration Test</Name>
    <Description>A view in a MVC-based desktop web application for use in integration tests.</Description>
    <ProjectType>CSharp</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
</TemplateData>
<TemplateContent>
    <ProjectItem TargetFileName="$fileinputname$.view" ReplaceParameters="true">Template.view</ProjectItem>
    <ProjectItem SubType="Code" TargetFileName="$fileinputname$.view.cs" ReplaceParameters="true">Template.view.cs</ProjectItem>
    <ProjectItem SubType="Code" TargetFileName="$fileinputname$.data.cs" ReplaceParameters="true">Template.data.cs</ProjectItem>
    <ProjectItem SubType="Code" TargetFileName="$fileinputname$.gen.cs" ReplaceParameters="true">Template.gen.cs</ProjectItem>
    <ProjectItem TargetFileName="$fileinputname$.js" ReplaceParameters="true" ItemType="Embedded Resource">Template.js</ProjectItem>
</TemplateContent>
<WizardExtension>
    <Assembly>VisualStudio.TemplateWizards,Version=1.1.0.0,Culture=neutral,PublicKeyToken=87390d63f27c23a4</Assembly>
    <FullClassName>VisualStudio.TemplateWizards.ViewItemTemplateWizard</FullClassName>
</WizardExtension>

问题是JavaScript文件嵌套在.View文件下面,我似乎无法找到解决方法.理想情况下,我希望这是一个添加的单个项目模板(而不必使用两个单独的项目模板).

任何帮助将不胜感激.我还有其他一切工作,只需要打磨最后一小块.

解决方法

我终于解决了这个问题事实证明,当将ItemType作为属性添加文件时,您不能使用项目类型的名称,如下拉列表中所示(根据此帖子: http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/3f6788cd-634b-42e5-ba63-b6dc52af71f9).将行更改为此(嵌入式和资源之间没有空格)可以解决问题:

<ProjectItem TargetFileName="$fileinputname$.js" ReplaceParameters="true" ItemType="EmbeddedResource">Template.js</ProjectItem>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐