• Visual Studio 自定义项目模板


    经常我们需要新建一个项目,然后新建我们的View文件夹,ViewModel文件夹,Model文件夹,还有把我们的ViewModelBase放入我们的VIewModel,如果还用框架,还需要加上好多。

    而我一般还有用九幽统计,需要修改好多东西,每新建一个项目都要做这个,这样我觉得不好,在网上看到了自定义模板,不过垃圾微软官方说的好差,看不懂,看了老周的,还是觉得不懂,我就自己来。

    我们需要打开我们目录:C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEProjectTemplatesCSharpWindows RootWindows 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

    HKLMSoftwareMicrosoftWindows NTCurrentVersionRegisteredOrganization 中的注册表项值。

    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="PropertiesAssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>写一个位置相对

    写完我们打开Application.csprojItemGroup是我们项目文件,我们需要写入我们的文件是编译还是内容,我们添加很多是编译

    <Compile Include="ViewModelNotifyProperty.cs" />

    如果我们需要文件夹,里没有内容,我们可以

    
        <Folder Include="Model" />
    

    这样保存,复制C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEProjectTemplatesCSharpWindows RootWindows UAP2052BlankApplication这个位置需要和你复制出的位置一样。

    需要管理员

    我们新建项目如果出找不到文件,打开C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEProjectTemplatesCache相同位置,把文件复制,因为这个是临时,VisualStudio会在文件夹读,一般关掉VisualStudio会好,但是后来有人说这样不好,我们就手动把文件复制

    知识共享许可协议
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

  • 相关阅读:
    Oracle修改表Table所属表空间及Clob、Blob字段的处理
    MyBatis返回多表连接结果
    MyBatis查询结果resultType返回值类型详细介绍
    SpringBoot之分页PageHelper
    Postman简单用法以及转cURL等命令的正确姿势
    postman 巧用cURL
    Spring Boot设置跨域访问
    springboot设置cors跨域请求的两种方式
    @Configuration使用
    @GetMapping和@PostMapping接收参数的格式
  • 原文地址:https://www.cnblogs.com/lindexi/p/12087506.html
Copyright © 2020-2023  润新知