VS编译命令

一、前言

由于公司要求项目需要走CI构建平台,抛弃掉之前的人工编译打包方式,所以需要调研一下项目怎么通过命令行编译出产物。

二、准备工作

  1. 在构建机器上安装vs(本文示例为vs2017)
  2. 将代码上传版本控制仓库(本文示例为Gitlab),并确保构建机器可以正常访问并下载源代码
  3. 确保构建机器可以正常编译目标项目,最快捷的方案就是在构建机器上跑一下
  4. 修改项目的编译配置及平台,例如我设置了Release+CI作为CI构建用的配置,并把输出路径改为了..\CIResult\

三、编写构建命令

  1. 找到vs的安装路径,找到devenv.exe,例如D:\VS2017\Common7\IDE\devenv.exe
  2. 明确自己需要编译的解决方案的名称,例如:ABC.sln
  3. 明确自己需要使用的编译设置,例如前文设置好的:Release + CI
  4. 编写编译命令,例如:"D:\VS2017\Common7\IDE\devenv.exe" devenv "ABC.sln" /rebuild "Release|CI" /out courtClient.log
  5. 执行命令,就可以到..\CIResult\去获取产物了,如果嫌弃文件夹麻烦,可以在编译完成后再加一句命令WinRAR a -r ABC.zip CIResult\*来打个压缩包。

四、注意事项

  1. 如果项目中使用了nuget管理引用的组件,建议把packages文件夹加入源代码仓库中,因为我不知道怎么让vs在编译前自动下载包并还原,只能用这个笨方法了。附上git的文件包含脚本,打开.gitignore文件加上一行!/packages/*
  2. 编译的错误日志打在了courtClient.log文件里

五、结束

自己摸索的,也踩了些坑最后总结出的方法,可能不是很合理,希望大佬们如果有更好的方法可以批评指正。

posted @ 2019-12-03 16:57  爱上猫的红烧鱼  阅读(1557)  评论(0编辑  收藏  举报