C# VS生成后事件命令行

 引言部分,总领全篇文章的中心内容。

01

前言

Visual Studio中,可以在项目-》属性-》生成事件-》生成后事件命令行(O):

中设置项目生成后执行的脚本,从而实现项目文件生产后的自动部署。如下图所示:

cc655d118e5fd382855328de2d4fb9b2.png

02


自动部署

      在大型的项目开发中,往往个人只承担一部分内容的开发,我们可能生成的只是一堆动态链接库(DLL),这些类库文件无法单独启动调试,而只有嵌入到公司项目的部署路径中才可以运行,这样需要我们每次生成后都得手动copy生成文件到公司项目的部署路径,这样调试起来就不太方便,这时候如果我们借助生成后事件命令行就可以省略上述步骤实现生产时自动部署。

   如我的项目生产目录在:

   D:\搜狗高速下载\mycode\Caliburn测试\bin\Debug

a5e3adf46806c60c45c87891d17bf676.png

我希望将所有生产的文件包括子文件都在生成时自动移动到路径:

D:\Chat\TEST下

我们只需要添加如下脚本:

xcopy $(ProjectDir)$(OutDir)*.* D:\Chat\TEST\ /y/e

这样每次我们的项目点击了生产菜单后,生产的项目就被自动拷贝到了目标路径下,省去了不必要的手动操作。

03


脚本解释

  • (ProjectDir)$(OutDir)*.* 表示项目输出路径下生成的所有文件,不加*.*也一样;

  • D:\Chat\TEST\   这个是我要部署的路径,此路径不存在,也会自动创建;

  • xcopy  复制文件;

  • /y/e    如果只复制文件用/y,如果同时需要复制生产目录下子文件夹的信息则再加上/e

除此之外还有如下常用的指令:

指令                                                      说明


$(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”)。


$(OutDir)                              输出文件目录的路径,相对于项目目录。这解析为“输出目录”属性的值。它包括尾部的反斜杠“\”。


$(DevEnvDir)                         Visual Studio  的安装目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。


$(PlatformName)                   当前目标平台的名称。例如“AnyCPU”。


$(ProjectDir)                          项目的目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。


$(ProjectPath)                        项目的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。


$(ProjectName)                      项目的基本名称。


$(ProjectFileName)                 项目的文件名(定义为基本名称 + 文件扩展名)。


$(ProjectExt)                          项目的文件扩展名。它在文件扩展名的前面包括“.”。


$(SolutionDir)                         解决方案的目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。


$(SolutionPath)                       解决方案的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。


$(SolutionName)                     解决方案的基本名称。


$(SolutionFileName)                解决方案的文件名(定义为基本名称 + 文件扩展名)。


$(SolutionExt)                         解决方案的文件扩展名。它在文件扩展名的前面包括“.”。


$(TargetDir)                           生成的主输出文件的目录(定义为驱动器 + 路径)。它包括尾部的反斜杠“\”。


$(TargetPath)                         生成的主输出文件的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。


$(TargetName)                       生成的主输出文件的基本名称。


$(TargetFileName)                  生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。


$(TargetExt)                          生成的主输出文件的文件扩展名。它在文件扩展名的前面包括

技术群: 需要进技术群学习交流的请添加小编微信,切记备注:加群,对以上内容有什么疑问也可以直接和小编直接沟通交流!     

小编微信:mm1552923   

公众号:dotNet编程大全   

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值