最近考虑在一个项目管理工具中加入Daily Build功能,就研究了一下VS.NET2003的命令行编译模式。以前用MFC写过一个专门针对VB6.0使用的Daily Build工具,为什么没做成通用的呢?一是通用模式往往比较复杂,不好写。二是那时候网上找了很多关于命令行编译的文章,都教我要自己手动一个一个模块去编译,如果有引用了某个Assembly或者什么资源文件的话,都要手动Link……不过还好,自己终于研究出了一点点小成果,所以赶紧和大家分享,希望对某些朋友有所帮助!
基本技术介绍:
命令行编译,针对VS.NET2003,主要使用了devenv.exe这个文件,它位于“Microsoft Visual Studio .NET 2003/Common7/IDE/”目录下。
用法:
devenv [solutionfile | projectfile | anyfile.ext] [switches]
可以调用 devenv,用第一个参数指定解决方案文件或项目文件。也可以调用 devenv,使第一个参数作为要在编辑器中打开的任何其他类型的文件。如果提供项目文件,IDE 将通过在与项目文件相同的目录中查找与项目文件具有相同基名称的 .sln 文件,在解决方案的上下文中打开该项目文件。如果存在 .sln 文件,则IDE 将查找引用该项目的单个 .sln 文件。如果不存在这样的单个 .sln 文件,则 IDE 将创建一个具有默认 .sln 文件名的未保存的解决方案,而该默认文件名与项目文件具有相同的基名称。
命令行生成:
deve