Visual Studio 自定义项目模板
经常我们需要新建一个项目,然后新建我们的View文件夹,ViewModel文件夹,Model文件夹,还有把我们的ViewModelBase放入我们的VIewModel,如果还用框架,还需要加上好多。
而我一般还有用九幽统计,需要修改好多东西,每新建一个项目都要做这个,这样我觉得不好,在网上看到了自定义模板,不过垃圾微软官方说的好差,看不懂,看了老周的,还是觉得不懂,我就自己来。
我们需要打开我们目录:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows UAP
里面有文件夹,一般我们打开最后一个,我也不知道你看到我这篇,垃圾微软把它改为最大多少,所以,一个一个来,我现在打开1033,(1033是老周博客写的)我的其实还有更后的,这个如果都是数字,就选最大的。
我们先把文件夹复制到我们用户文档或者自己程序的项目位置,然后压缩一份保存,因为怕自己弄坏
然后我们用Visual Studio打开文件,记住,要打开.csproj要用文件 打开。
我们先打开BlankApplication里BlankApplication.vstemplate
我们要修改是我们项目包含文件TemplateContent就是我们项目包含的文件
我们包含项目Application.csproj,但是我们后面ReplaceParameters="true"我们会把东西代换,代换的我在后面讲。
然后就是我们的项目包含文件,<ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>我们从本地找到App.xaml文件,放在新建项目的App.xaml放入之前需要代换,因为ReplaceParameters="true"
那我们会代什么,我们打开App.xaml
看到$safeprojectname$这就是我们代换的,可以代换
|
参数 |
描述 |
|---|---|
|
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 格式表示的当前年份。 |
我们在添加我们的文件,如果需要放在项目的文件夹,我们需要<ProjectItem ReplaceParameters="true" TargetFileName="Properties\AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>写一个位置相对
写完我们打开Application.csprojItemGroup是我们项目文件,我们需要写入我们的文件是编译还是内容,我们添加很多是编译
<Compile Include="ViewModel\NotifyProperty.cs" />
如果我们需要文件夹,里没有内容,我们可以
<Folder Include="Model\" />
这样保存,复制C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows UAP\2052\BlankApplication这个位置需要和你复制出的位置一样。
需要管理员
我们新建项目如果出找不到文件,打开C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplatesCache相同位置,把文件复制,因为这个是临时,VisualStudio会在文件夹读,一般关掉VisualStudio会好,但是后来有人说这样不好,我们就手动把文件复制

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
Visual Studio 自定义项目模板的更多相关文章
- [Visual Studio] 自定义项目模板(.vsix扩展)
VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...
- 如何利用 Visual Studio 自定义项目或工程模板
在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...
- DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解
关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- Visual Studio 自定义项目或工程模板
如何利用 Visual Studio 自定义项目或工程模板 在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志 ...
- 如何利用 Visual Studio 自定义项目或工程模板(转载)
在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...
- 用Visual Studio2019自定义项目模板
项目模板简介 众所周知,在我们使用VS新建项目时,都需要选择一个项目模板,如下图: 我们选择完项目模板进行创建,创建完成之后,可以发现项目中已经包含了一些基础的文件.例如MVC: 可以看到,MVC项目 ...
- [Visual Studio] .vsix项目模板制作
Visual Studio (VSIX,项目模板 )制作 下载Vsiual Studio 2012 SDK 下载地址:http://www.microsoft.com/en-us/download ...
- [Visual Studio] 自定义类模板
1.找到vs2015/vs2012/vs2017的安装目录下:Common7\IDE\ItemTemplates\CSharp\Code\2052\Class 2.打开Class.cs文件 using ...
- VS自定义项目模板:[2]创建VSIX项目模板扩展
VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...
随机推荐
- 扫雷游戏制作过程(C#描述):第三节、雷区绘制
前言 这里给出教程原文地址. 该项目已经放在github上托管. 绘制雷区 这一节我们主要涉及界面中雷区的绘制.绘制雷区需要三个变量来保存雷区行数.列数.以及地雷的数量.而且我们希望能够自动获取上次游 ...
- 团队作业4——第一次项目冲刺(Alpha版本) 2017.4.23
本次会议为第二次Scrum Meeting会议~ 由于本次会议项目经理召开时间为10:30,在五社区会五号楼召开,召开时长约30分钟,对昨天的工作进行了总结并分配了今天的任务. 1.站立式会议照片(拍 ...
- 201521123109《java程序设计》第二周学习总结
1. 本周学习总结 (1)学习了字符串String的类型,使用Arrays对数组的处理及其相关的应用 (2)学会使用码云 (3)了解了对象与封装 (4)学会查询Java API文件 2. 书面作业 ( ...
- 201521123114 《Java程序设计》第2周学习总结
#1. 本周学习总结 1. 学会了使用码云管理代码,使用eclipse关联jdk源代码: 2. 学习了包管理机制,包的作用:主要是管理java文件,解决同名文件冲突; 3. ArrayList可以处理 ...
- 201521123004 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 协议.IP.域名.端口号 协议:网络中为了进行数据交换(通信)而建立的规则.标准或约定(=语义+语法+规则 ...
- Java课程设计 学生基本信息管理个人博客
学生基本信息管理系统个人博客 团队课程设计链接 http://www.cnblogs.com/ll321/p/7067598.html 个人负责模块 负责部分界面设计,处理代码: 处理部分数据库数据. ...
- JVM菜鸟进阶高手之路十(基础知识开场白)
转载请注明原创出处,谢谢! 最近没有什么实战,准备把JVM知识梳理一遍,先以开发人员的交流来谈谈jvm这块的知识以及重要性,依稀记得2.3年前用solr的时候老是经常oom,提到oom大家应该都不陌生 ...
- 翻译:MariaDB ALTER TABLE语句
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- vue实例讲解之axios的使用
本篇来讲解一下axios插件的使用,axios是用来做数据交互的插件. 这篇将基于vue实例讲解之vue-router的使用这个项目的源码进行拓展. axios的使用步骤: 1.安装axios npm ...
- Racing Car Computer dp
Racing Car Computer Input: Standard Input Output: Standard Output The racing cars of today are equ ...