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.csproj
ItemGroup是我们项目文件,我们需要写入我们的文件是编译还是内容,我们添加很多是编译
<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 分步阅读 一键约师傅 百度师 ...
随机推荐
- 201521123075 《Java程序设计》第5周学习总结
1. 本周学习总结 2. 书面作业 作业参考文件下载 1 .代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分 ...
- 201521123032 《Java程序设计》第1周学习总结
#1. 本周学习总结 下载熟悉eclipse,了解java的入门.用notepad++和eclipse编写Java程序.复习到了十进制转化为二进制,八进制与十六进制. #2. 书面作业 ##2.1为什 ...
- #黑客攻防实战详解#[Chapter 1]
1.1 ①配置模拟入侵环境 ②配置网络拓扑
- java程序设计 彩票购买抽奖程序 团队博客
一.项目介绍 题目要求 功能要求: 模拟福利彩票36选7,实现彩票的抽奖与中奖通知功能. 1.允许注册用户,用户信息包括用户id,用户名,密码,账户金额,电话号码等属性. 2.允许注册用户购买彩票:手 ...
- JAVA课程设计个人博客 学生基本信息管理 201521123117 李心宇
1. 团队课程设计博客链接 http://www.cnblogs.com/ll321/p/7067598.html 2.个人负责模块或任务说明 ①主要有三个界面的设计,包括:登录界面,功能选择界面还有 ...
- 排查Linux机器是否已经被入侵
随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 背景信息:以下情况是在CentO ...
- Routing in ASP.NET Core
.NET-Core Series Server in ASP.NET-Core DI in ASP.NET-Core Routing in ASP.NET-Core Error Handling in ...
- 浅谈大数据和hadoop家族
按照时间的早晚从大数据出现之前的时代讲到现在.暂时按一个城市来比喻吧,反正Landscape的意思也大概是”风景“的意思. 早在大数据概念出现以前就存在了各种各样的关于数学.统计学.算法.编程语言的研 ...
- 简易RPC框架-私有协议栈
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 云计算之openstack ocata 项目搭建详细方法
之前写过一篇<openstack mitaka 配置详解>然而最近使用发现阿里不再提供m版本的源,所以最近又开始学习ocata版本,并进行总结,写下如下文档 OpenStack ocata ...