Visual Studio 项目模板制作(一)

我们编写项目的时候,很多时候都是在写重复代码,比如一个比较完整的框架,然后下面有很多代码都是重复的Copy,其实我们可以利用Visual Studio的模板替我们干这些活,我们只要关注项目具体的业务就可以了;

下面我们开始:

1、模板类别

项目模板、项模板

其中,项目模板是创建项目用的,项模板是创建项用的

项目模板:

项模板:

下面我们创建项目模板

首先,将要制作成模板的项目打开,选中项目,点击文件-》导出项目模板,弹出导出模板向导

然后填写相关信息,点击完成,这样就导出模板成功了

现在,很关键的一步就是修改导出的模板

解压刚才导出zip文件

打开.vstemplate文件

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
  <TemplateData>
    <Name>ConsoleApplication2</Name>
    <Description>&lt;没有可用的说明&gt;</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>ConsoleApplication2</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>__TemplateIcon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <Project TargetFileName="ConsoleApplication2.csproj" File="ConsoleApplication2.csproj" ReplaceParameters="true">
      <ProjectItem ReplaceParameters="true" TargetFileName="CodeTimer.cs">CodeTimer.cs</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Program.cs">Program.cs</ProjectItem>
      <Folder Name="Properties" TargetFolderName="Properties">
        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
      </Folder>
    </Project>
  </TemplateContent>
</VSTemplate>

TemplateData节点是模板的说明,Name:模板名称,Description:模板描述,ProjectType:项目类型,

修改TemplateContext节点

TargetFileName:模板生成的文件名称 (如:TargetFileName="$safeprojectname$.csproj")

File:模板文件

ReplaceParameters:是否替换占位符,微软定义的占位符见附录,当然还可以自定义占位符

修改完成之后

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
  <TemplateData>
    <Name>ConsoleApplication2</Name>
    <Description>&lt;没有可用的说明&gt;</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>ConsoleApplication2</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>__TemplateIcon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <Project TargetFileName="$safeprojectname$.csproj" File="ConsoleApplication2.csproj" ReplaceParameters="true">
      <ProjectItem ReplaceParameters="true" TargetFileName="$safeprojectname$CodeTimer.cs">CodeTimer.cs</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Program.cs">Program.cs</ProjectItem>
      <Folder Name="Properties" TargetFolderName="Properties">
        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
      </Folder>
    </Project>
  </TemplateContent>
</VSTemplate>

打开用记事本csproj项目文件

修改ItemGroup

  <ItemGroup>
    <Compile Include="$safeprojectname$CodeTimer.cs" />
    <Compile Include="Program.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>

修改完成之后压缩成Zip文件,放到下面的目录,在vs里面就可以使用刚才创建的模板了

(vs安装位置)\Visual Studio 2013\Templates\ProjectTemplates

附录:


参数


描述


clrversion


公共语言运行时 (CLR) 的当前版本。


GUID [1-10]


用于替换项目文件中的项目 GUID 的 GUID。 最多可以指定 10 个唯一的 GUID(例如,guid1))。


itemname


用户在添加新项对话框中提供的名称。


machinename


当前的计算机名称(例如,Computer01)。


projectname


用户在新建项目对话框中提供的名称。


registeredorganization


HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的注册表项值。


rootnamespace


当前项目的根命名空间。 此参数仅适用于项目模板。


safeitemname


用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。


safeprojectname


用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。


time


以 DD/MM/YYYY 00:00:00 格式表示的当前时间。


SpecificSolutionName


解决方案的名称。 当“创建解决方案的目录”被选中,SpecificSolutionName 具有解决方案的名称。当“创建解决方案的目录”没有被选中,SpecificSolutionName是空。


userdomain


当前的用户域。


username


当前的用户名。


webnamespace


当前网站的名称。 在 Web 窗体模板中使用此参数以确保类名称是唯一的。 如果网站位于 Web 服务器的根目录下,则此模板参数将解析为 Web 服务器的根目录。


year


以 YYYY 格式表示的当前年份。

时间: 2024-10-11 12:32:02

Visual Studio 项目模板制作(一)的相关文章

Visual Studio 项目模板制作(三)

前面,我们已经制作好了模板,然后放到相应的Template目录就可以在Visual Studio中使用 本篇,我们采用安装VSIX扩展的方式来安装模板,这种方式需要安装Visual Studio SDK 安装了SDK之后,可以在新建项目里面看到VSIX Project 选择VSIX Project 然后设置一下名称,点击确定,项目就新建完成了 项目结构: 现在我们开始 首先,双击打开source.extension.vsixmanifest 设置扩展的各种属性 然后,添加我们前面两篇制作的模板

Visual Studio 项目模板制作(二)

上一篇,我们制作了项目模板,本篇我制作项模板 首先,从我们需要导出模板的项目中,文件->导出模板,弹出 导出模板向导 对话框 选择项模板,点击下一步 选择要导出的项,点击下一步 选择要Reference的类库 修改模板名称,点击完成 然后,解压生成的zip文件,如图 打开.vstemplate文件 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate

Visual Studio 项目模板制作(四)

上一篇,介绍了VSIX安装模板的方法,那么,你是不是要问,为何有些项目模板却可以有向导,那是怎么做到的 今天这篇文章就是介绍如何为自己的模板添加向导,向导可以引导你完成项目中各种参数的设置,比如项目创建人,项目描述,公司等 下图创建Web项目时的向导 下面我们开始制作我们自己的项目向导 需要用到的两个类库: envdte , Microsoft.VisualStudio.TemplateWizardInterface 创建一个类库项目,引用上面两个类库 添加一个类,取名ProjectWizard

创建Visual studio项目模板 vstemplate关键点纪要

from:http://www.cnblogs.com/stickman/p/3454719.html 经过多次的实验,终于完美生成一个.VSIX的项目模板安装包,其中遇到不少问题与挫折,久经google/baidu/自行摸索.终于解决所有问题. 现将心得记录总结如下 关于.vstemplate 1.可以通过导出模板直接生成.vstemplate及其他项目文件,以作为 模板的母版! 建议复制一份csprj文件做.vstemplate里面引用的模板项目文件. 2.TargetFileName/Ta

[Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code

[Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code 问题情景 开发Cordova Plugin的时候,开发的流程应该是: 建立Cordova Plugin 发布到本机文件系统或是Git服务器 使用Visual Studio挂载Plugin 编译并执行项目 在这个开发的过程中,如果在编译并执行项目的这个步骤,发现Plugin的Native Code需要修正.直觉的想法,会是直接修改Cordova项目里Plugin副本的Native Code之后,再

使用GitHub For Windows部署Visual Studio项目

因为最近同时再看很多技术方面的书,书上的例子有很多自己想亲自尝试一下,但是每次写例子都得创建一个新项目未免太麻烦,索性就整理一个合集,然后发布到GitHub上. 首先使用GitHub For Windows,点击左上角的[+]号,默认的选项就是[Create],选择一个目录,并且将项目名称填入[Name]文本框,如图所示 这样Git项目创建好之后,选择右上角的[Publish Repository],可以写上项目的说明[Description],然后就可以点击下面的[Publish]按钮发布到G

visual studio 项目工程中相对目录

最近从TFS拿到一个很久没有人维护的项目,老是提示dll找不到. 弱弱地研究了一下,原来是相对路径惹的祸. 1. C#中相对路径的表示:. 表示当前目录,..表示上一级目录 2. 工程中的引用 <Reference Include="XXXX.Data"> <HintPath>..\..\..\..\..\..\..\Common\XX\XX\XX\v1.1.0.1105\XXXX.Data.dll</HintPath> </Reference

visual studio 2010模板修改

 使用visual studio 2010好久了,也遇到了不少问题,下面跟大家分享一些. 模板修改 说明: 主要工具: 以visual studio 2010作为例子,具体目录可能会根据不同的安装目录有所区别,如有问题,可以留言 最好关闭正在运行着的visual studio 主要目的: 修改新添加文件(aspx master等等)的初始化模板 修改新添加项目时的所有页面或文件的模板 步骤:  1.找到路径 项目模板修改 D:\Program Files (x86)\Microsoft Visu

Visual Studio 定制模板类---详细步骤

1.先定义一个类文件,将要定义的信息写入类文件 比如我每次写一个命令都是这个套路,要继承接口,要写上相应的特性,每次都 是重复的工作: 2.提取类模板 项目=>导出模板 这里你可以导出项目模板和项模板,我们这里选中项模板,项目选中你刚才编写模板类所在的项目,然后下一步: 选中模板类,下一步: 选中依赖的dll,下一步: 填入相应的信息,注意要勾选“自动将模板导入Visual Studio”,然后完成! 这样我们就可以在项目模板目录下面找到刚导出的项目板: 3.修改相关信息 现在导出到信息都是写死