zoukankan      html  css  js  c++  java
  • 自定义VS的ItemTemplates 实现任意文件结构

    上一篇说到重写IHttpHandler实现前后端分离,这次说一下如何建立一个如下文件结构。

    VS建立webform时是根据模板来的。C#的模板目录如下:

    F:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEItemTemplatesCacheCSharp

    WebForm的模板目录如下:

    F:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEItemTemplatesCacheCSharpWebWeb Forms2052WebForm

    里面有几个文件

    打开原WebForm.vstemplate可以看到以下代码:

     1 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
     2   <TemplateData>
     3     <Name Package="{39c9c826-8ef8-4079-8c95-428f5b1c323f}" ID="3062"/>
     4     <Description Package="{39c9c826-8ef8-4079-8c95-428f5b1c323f}" ID="3063"/>
     5     <Icon Package="{39c9c826-8ef8-4079-8c95-428f5b1c323f}" ID="4533"/>
     6     <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
     7     <TemplateID>Microsoft.WAP.CSharp.WebForm</TemplateID>
     8     <TemplateGroupID>Web</TemplateGroupID>
     9     <ProjectType>CSharp</ProjectType>
    10     <ProjectSubType>Web</ProjectSubType>
    11     <ShowByDefault>false</ShowByDefault>
    12     <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
    13     <DefaultName>WebForm.aspx</DefaultName>
    14     <SortOrder>20</SortOrder>
    15   </TemplateData>
    16   <TemplateContent>
    17     <References>
    18       <Reference>
    19         <Assembly>System.Web</Assembly>
    20       </Reference>
    21       <Reference>
    22         <Assembly>System</Assembly>
    23       </Reference>
    24       <Reference>
    25         <Assembly>System.Data</Assembly>
    26       </Reference>
    27       <Reference>
    28         <Assembly>System.Drawing</Assembly>
    29       </Reference>      
    30       <Reference>
    31         <Assembly>System.Xml</Assembly>
    32       </Reference>      
    33     </References>
    34     <CustomParameters>
    35       <CustomParameter Name="$ParentExtension$" Value=".aspx"/>
    36       <CustomParameter Name="$ChildExtension$" Value=".cs"/>
    37     </CustomParameters>
    38     <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.$fileinputextension$">Default.aspx</ProjectItem>
    39     <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.$fileinputextension$.cs" SubType="ASPXCodeBehind">Default.aspx.cs</ProjectItem>
    40     <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.$fileinputextension$.designer.cs">Default.aspx.designer.cs</ProjectItem>
    41   </TemplateContent>
    42   <WizardExtension>
    43     <Assembly>Microsoft.VisualStudio.Web.Application, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
    44     <FullClassName>Microsoft.VisualStudio.Web.Application.WATemplateWizard</FullClassName>
    45   </WizardExtension>
    46 </VSTemplate>

    想改成.html嵌套.cs,修改WebForm.vstemplate为:

     1 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
     2   <TemplateData>
     3     <Name Package="{39c9c826-8ef8-4079-8c95-428f5b1c323f}" ID="3062"/>
     4     <Description Package="{39c9c826-8ef8-4079-8c95-428f5b1c323f}" ID="3063"/>
     5     <Icon Package="{39c9c826-8ef8-4079-8c95-428f5b1c323f}" ID="4533"/>
     6     <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
     7     <TemplateID>Microsoft.WAP.CSharp.WebForm</TemplateID>
     8     <TemplateGroupID>Web</TemplateGroupID>
     9     <ProjectType>CSharp</ProjectType>
    10     <ProjectSubType>Web</ProjectSubType>
    11     <ShowByDefault>false</ShowByDefault>
    12     <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
    13     <DefaultName>WebForm.html</DefaultName>
    14     <SortOrder>20</SortOrder>
    15   </TemplateData>
    16   <TemplateContent>
    17     <References>
    18       <Reference>
    19         <Assembly>System.Web</Assembly>
    20       </Reference>
    21       <Reference>
    22         <Assembly>System</Assembly>
    23       </Reference>
    24       <Reference>
    25         <Assembly>System.Data</Assembly>
    26       </Reference>
    27       <Reference>
    28         <Assembly>System.Drawing</Assembly>
    29       </Reference>      
    30       <Reference>
    31         <Assembly>System.Xml</Assembly>
    32       </Reference>      
    33     </References>
    34     <CustomParameters>
    35       <CustomParameter Name="$ParentExtension$" Value=".html"/>
    36       <CustomParameter Name="$ChildExtension$" Value=".cs"/>
    37     </CustomParameters>
    38     <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.html">Default.html</ProjectItem>
    39     <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.cs" SubType="ASPXCodeBehind">Default.cs</ProjectItem>
    40 
    41   </TemplateContent>
    42   <WizardExtension>
    43     <Assembly>Microsoft.VisualStudio.Web.Application, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
    44     <FullClassName>Microsoft.VisualStudio.Web.Application.WATemplateWizard</FullClassName>
    45   </WizardExtension>
    46 </VSTemplate>

     把里面模板里面关联文件修改如下:(.html和.cs文件可以更具公司平台做一标准页面出来。)

    如果不是原生WebForm要用服务器控件Default.aspx.designer.cs ,可以删掉。

    改好之后建个文件试试吧

  • 相关阅读:
    为什么电影里的黑客都不屑用鼠标? (转)
    专注做好一件事(转) focus---这个世界上最成功的人,他们在某一领域获得成功之后,可通过经营杠杆进入任何他们想要涉足的领域。而这都得依赖于他们曾极致的专注在做好一件事情上。
    世间万物都是遵循某种类似的规律,谁先把握了这些规律,谁就最早成为了强者。
    走的时候不要太急,有时间要停下来想一想当初为什么而走,这样,才会走的更稳,走的更明白。
    Android笔记: Android版本号
    Android笔记:真机调试无法输出Log 信息的问题
    阿里云服务器试用
    Android笔记:利用InputStream和BufferedReader 进行字节流 字符流处理
    Android笔记:java 中的数组
    Android笔记:C memory copy
  • 原文地址:https://www.cnblogs.com/colorlife/p/4747267.html
Copyright © 2011-2022 走看看