加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

重新温习:预生成事件命令行和生成后事件命令行

发布时间:2020-12-16 01:18:18 所属栏目:百科 来源:网络整理
导读:??? 今天写一点有关Visual Studio 2015使用技巧方面的文章,其实不只是VS2015,VS以前的版本也有这个功能,这个功能就是“VS预生成事件命令行 和 生成后事件命令行”。这个功能好久没有使用了,居然在这个功能使用上也会阴沟翻船,整整把我折腾了多半天,借

???   今天写一点有关Visual Studio 2015使用技巧方面的文章,其实不只是VS2015,VS以前的版本也有这个功能,这个功能就是“VS预生成事件命令行 和 生成后事件命令行”。这个功能好久没有使用了,居然在这个功能使用上也会阴沟翻船,整整把我折腾了多半天,借着今天这个机会,今天我就把这个功能补习一下。

?? ?  直接上代码,以下是所有的命令,好好的复习一下,我建立了一个测试项目。解决方案的名称是“SolutionTest”,项目也是独立建立的,名称是“ConsoleApplication”,然后基于这些给出每一项的具体结果。效果如图:

???????????????????????????



      命令写法:

??????????????????????????



    宏命令说明:

$(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”)。
                                结果值:Debug,因为我的项目处于调试环境,如果是发布环境,其值就是:Release。


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


$(DevEnvDir)                    Visual Studio 版本 的安装目录(定义为驱动器 + 路径);包括尾部的反斜杠“”。
                                结果值:D:Program Files (x86)Microsoft Visual Studio 14.0Common7IDE


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


$(ProjectDir)                    项目的目录(定义为驱动器 + 路径);包括尾部的反斜杠“”。
                                 结果值:E:visual studio 2015ProjectsSolutionTestConsoleApplication


$(ProjectPath)                   项目的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。
                                 结果值:E:visual studio ProjectsSolutionTestConsoleApplicationConsoleApplication.csproj


$(ProjectName)                   项目的基本名称。
                                 结果值:ConsoleApplication


$(ProjectFileName)               项目的文件名(定义为基本名称 + 文件扩展名)。
                                 结果值:ConsoleApplication.csproj


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


$(SolutionDir)                   解决方案的目录(定义为驱动器 +ProjectsSolutionTest


$(SolutionPath)                  解决方案的绝对路径名(定义为驱动器 + 路径 + 基本名称 +ProjectsSolutionTestSolutionTest.sln


$(SolutionName)                  解决方案的基本名称。
                                 结果值:SolutionTest


$(SolutionFileName)              解决方案的文件名(定义为基本名称 + 文件扩展名)。
                                 结果值:SolutionTest.sln


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


$(TargetDir)                     生成的主输出文件的目录(定义为驱动器 + 路径)。它包括尾部的反斜杠“”。
                                 结果值:E:visual studio ProjectsSolutionTestConsoleApplicationbinDebug


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


$(TargetName)                    生成的主输出文件的基本名称。
                                 结果值:ConsoleApplication


$(TargetFileName)                生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。
                                 结果值:ConsoleApplication.exe


$(TargetExt)                     生成的主输出文件的文件扩展名。它在文件扩展名的前面包括“.”。
                                 结果值:.exe


  命令使用格式:

copy/xcopy "Source" Destination"

    copy/xcopy命令是不区分大小写的。

    Source和Destination信息不能省略外层的双引号,否则就会抛出 【“copy ******** ”已退出,代码为1。】的编译错误。

    XCopy $(ProjectDir)binDebugAutoMapper.dll$(SolutionDir)ConsoleApplication2binDebug"



?? ?  今天就到这里了,每天都有一点进步,坚持不懈。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读