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

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

                           

      命令写法:

                          

    宏命令说明:

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


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


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


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


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


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


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


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


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


$(SolutionDir)                   解决方案的目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。
                                 结果值:E:\visual studio 2015\Projects\SolutionTest\


$(SolutionPath)                  解决方案的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。
                                 结果值:E:\visual studio 2015\Projects\SolutionTest\SolutionTest.sln


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


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


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


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


$(TargetPath)                    生成的主输出文件的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。
                                 结果值:E:\visual studio 2015\Projects\SolutionTest\ConsoleApplication\bin\Debug\ConsoleApplication.exe


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


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


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


  命令使用格式:

copy/xcopy "Source" "Destination"

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

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

    XCopy "$(ProjectDir)bin\Debug\AutoMapper.dll" "$(SolutionDir)ConsoleApplication2\bin\Debug\"



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

posted on 2018-09-12 16:43  可均可可  阅读(557)  评论(3编辑  收藏  举报