原文:用批处理编译*.sln工程

批处理是直接调用Microsoft Visual Studio 8\Common7\IDE\ 目录内的 devenv.exe ,它启动后就是IDE,提供的参数如下:

用法:

devenv [solutionfile | projectfile | anyfile.ext] [switches]

devenv 的第一个参数通常是一个解决方案文件或项目文件。如果您希望在编辑器中自动打开文件,也可以使用任何其他文件作为第一个参数。当您输入项目文件时,IDE会在项目文件的父目录中查找与该项目文件具有相同基名称的 .sln 文件。如果不存在这样的 .sln 文件,IDE 将查找引用该项目的单个 .sln 文件。如果不存在这样的单个.sln 文件,则 IDE 将创建一个具有默认 .sln 文件名且未保存的解决方案,其基名称与项目文件的基名称相同。

命令行编译:

devenv solutionfile.sln /build solutionconfig [ /project projectnameorfile [ /projectconfig name ] ]

可用的命令行开关:

/Build

使用指定的解决方案配置生成解决方案或

项目。例如“Debug”。如果可能存在多个平台,

则配置名称必须用引号括起来

并且包含平台名称。例如“Debug|Win32”。

/Clean

删除生成结果。

/Command

启动 IDE 并执行该命令。

/Deploy

生成并部署指定的生成配置。

/Edit

在此应用程序的运行实例中打开

指定文件。如果没有正在运行的实例,

则启动一个具有简化窗口布局的新实例。

/LCID

设置 IDE 中用于用户界面的默认语言。

/Log

将 IDE 活动记录到指定的文件以用于故障排除。

/NoVSIP

禁用用于 VSIP 测试的 VSIP 开发人员许可证密钥。

/Out

将生成日志追加到指定的文件中。

/Project

指定生成、清理或部署的项目。

必须和 /Build、/Rebuild、/Clean 或 /Deploy 一起使用。

/ProjectConfig

重写解决方案

配置中指定的项目配置。例如“Debug”。如果可能存在

多个平台,则配置名称必须用引号括起来

并包含平台名称。例如“Debug|Win32”。

必须和 /Project 一起使用。

/Rebuild

先清理,然后使用指定配置生成

解决方案或项目。

/ResetAddin

移除与特定外接程序关联的命令和命令用户界面。

/ResetSettings

恢复 IDE 的默认设置,还可以重置为

指定的 VSSettings 文件。

/ResetSkipPkgs

清除所有添加到 VSPackages 的 SkipLoading 标记。

/Run

编译并运行指定的解决方案。

/RunExit

编译并运行指定的解决方案然后关闭 IDE。

/SafeMode

以安全模式启动 IDE,加载最少数量的窗口。

/Upgrade

升级项目或解决方案以及其中的所有项目。

并相应地创建这些文件的备份。有关备份

过程的更多信息,请参见

“Visual Studio 转换向导”上的帮助。

产品特定的开关:

/debugexe

打开要调试的指定可执行文件。命令行的其余部分作为它的参数传递到此执行文件。

/useenv

使用PATH、INCLUDE、LIBPATH

要从命令行附加调试器,请使用:

VsJITDebugger.exe -p

编写批处理



首先确定路径和文件名称约定:



#工程目录:d:\系统平台\

#工程SLN文件所在目录:d:\系统平台\infotech.activexengine\

#工程SLN文件名称:infotech.activexengine.sln

#编译日志文件名称:output.txt

#总日志文件名称(位置):d:\系统平台\Rebuilder.log



批处理文件内容:



@echo off

echo 建立日期 �te%  #输出日期

d: #切换驱动器

cd d:\系统平台\ #进入目录

echo 建立日期 �te% >> d:\系统平台\Rebuilder.log #写入日期到总日志文件

cd d:\系统平台\infotech.activexengine\ #进入工程目录

"D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe" infotech.activexengine.sln /rebuild RELEASE /out output.txt #执行命令,编译工程,以Release模式

type output.txt >> d:\系统平台\Rebuilder.log #写入日志到总日志内

echo 完成构建

echo 完成构建 >> d:\系统平台\Rebuilder.log #写入完成信息

notepad d:\系统平台\Rebuilder.log #用写字板显示编译总日志便于查看

pause #暂停

运行该批处理文件将编译 Infotech.ActivexEngine
工程
,并且显示出编译的结果到Rebuilder.log 文件中.

按这样的做法,依次将其他的工程写入,这样,每天下班的时候就运行一次,或者放到WINDOWS
的任务中自动运行,保证每个工程都被重建.在批处理文件中还可以增加其他的命令,比如通过命令行备份每次的编译结果到服务器上等等动作.

另外,象FinalBuilder 这些专业的工具还支持从一些版本控制系统中检测最新的版本,或者是生成压缩包,备份文件,刻盘...等等善后工作,有条件的还是使用这些专业软件.

附录:



开源的几个Build工具如下:

BusyBeeBuilder

BusyBeeBuilder provides a
powerful,easy-to-use,and extensible .NET build automation
tool.

DevBuildRunner

DevBuildRunner is being developed as OSI
Certified Open Source Software.

.NET
Pre-Build

.NET
Pre-Build是一个XML驱动的预建造工具

BuildStudio

 多个开发人员独立地编写大量的源代码组件,这些组件最终进行编译、打包并交付给测试人员或最终用户

CruiseControl.NET

CruiseControl.NET是为.NET
平台提供的一个自动连续集成服务器。



Draco.NET

Draco.NET是为.NET提供的一个连续集成功能

NAntContrib

这是为NAnt提供的定制任务

NAnt

它是一个基于.NET的编译(Build)工具,能够使项目的编译过程非常容易。

摘自:http://www.cnblogs.com/Chinasf/archive/2006/08/10/473814.html

用批处理编译*.sln工程的更多相关文章

  1. msbuild 编译指定工程时构建脚本的配置

    有时候 ,我们编译windows的exe时,我们不需要编译所以的工程,我们只需要指定某个工程就好了,此时我们使用/t:工程名:Rebuild(如果要编译全部工程就把工程名去掉,即/t:Rebuild) ...

  2. Delphi:MSBuild编译dproj工程

    Delphi之命令行编译工程,传统是用dcc32来编译的,它需要设置一大堆参数. 自Delphi 2007以后,支持MSBuild编译,它直接编译.dproj工程文件,所有编译需要的东西,都已在其中设 ...

  3. 转:Android开发实践:用脚本编译Android工程

    转自: http://ticktick.blog.51cto.com/823160/1365947 一般情况下,我们都是使用Eclipse+ADT插件或者Android studio软件来编译Andr ...

  4. 如何在编译Xcode-Plugin工程的时候增加Cocoapods依赖

    关于如何在编译Xcode-Plugin工程的时候增加Cocoapods依赖 以及在Mac App上使用Cocoapods的时候遇到Library not found for -lPods时的解决办法 ...

  5. Intellij-idea 如何编译maven工程

    小编最近效应项目的要求,学习在idea上编写项目.作为一个新手遇到问题也算是正常的,重要的是把它解决,get新技能. 编写过maven工程的小伙伴们应该都知道怎么在eclipse中编译maven工程: ...

  6. 使用Ant编译Hadoop工程报错

    在win7用Ant编译hadoop工程的时候,遇到了一个报错,如下: org.eclipse.core.runtime.CoreException: D:\workspace\hadoop-1.1.2 ...

  7. qmake生成VS的vcproj/sln工程文件

    qmake 生成的vs工程与环境变量中的 qmakespec相关,可以有两种方法: 1.默认情况下,即环境变量qmakespec为你装的qt for vs的版本,默认生成的为该版本的vs工程,如,你装 ...

  8. ubuntu下,VSCode采用cmake编译C++工程

    首先在VSCode中下载CMake和CMake Tools两个插件. 选中CMake Tools,可以看到在VSCode中如何使用cmake编译C++工程的教程. 官网教程 最重要且最实用,看这个网址 ...

  9. vs2008+cmake2.8+OpenCV2.8.4配置过程中OpenCV.sln重编译部分工程失败

    解决方法来自此链接 http://www.tuicool.com/articles/qiQBb2N vs2008+cmake2.8+OpenCV2.8.4配置过程 1.解压opencv2.4.8 2. ...

随机推荐

  1. 【JDK源码分析】String的存储区与不可变性(转)

    // ... literals are interned by the compiler // and thus refer to the same object String s1 = " ...

  2. ASP.NET MVC (Razor)开发

    ASP.NET MVC (Razor)开发 过去我们使用过一些周报工具来完成项目组或部门的周报填写与考核工作,但多少有些不理想,要么功能太过简单,要么功能特别繁杂,不接地气,使用不便. 后来我们就考虑 ...

  3. JAVA —— 文件输入输出

    import java.io.*; public class FileIO { public static void main(String[] args) { //1.相对路径 File testF ...

  4. linux笔记本上安装了双显卡驱动(intel+nvidia)

    为了提高linux图形性能并降低功耗,独特的文章. 我用的系统Fedora 20 Xfce x64,在安装驱动程序,以确保系统是最新的版本号. 最好安装gcc.kernel-devel和其他包.己主动 ...

  5. CentOS7 安装zookeeper

    本章介绍CentOS的初始配置与zookeeper的安装. www.apache.org/dist/上可以下载Hadoop整个生态环境的组件,我下的Zookeeper3.4.6版本 我一般都是在一个虚 ...

  6. MBProgressHUD 问题

    1.MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithWindow:[UIApplication sharedApplication].keyWi ...

  7. 十天学Linux内核之第八天---构建Linux内核

    原文:十天学Linux内核之第八天---构建Linux内核 今天是腊八节,说好的女票要给我做的腊八粥就这样泡汤了,好伤心,好心酸呀,看来代码写久了真的是惹人烦滴,所以告诫各位技术男敲醒警钟,不要想我看 ...

  8. android该系统的应用API选择演示版本

    转载请注明出处[http://blog.csdn.net/y150481863/article/details/41280045] 首先我们在开发一个应用之前,特别是一个android应用.首先要考虑 ...

  9. ABP分层架构

    ABP分层架构 基于DDD的现代ASP.NET开发框架--ABP系列之3.ABP分层架构 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP ...

  10. HDU 4932 Miaomiao's Geometry(推理)

    HDU 4932 Miaomiao's Geometry pid=4932" target="_blank" style="">题目链接 题意: ...