用批处理编译*.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)工具,能够使项目的编译过程非常容易。

转自:https://www.cnblogs.com/Chinasf/archive/2006/08/10/473814.html

原文地址:https://www.cnblogs.com/challengesoflife/p/11344253.html

时间: 2024-10-26 12:12:16

用批处理编译*.sln工程(转)的相关文章

用批处理编译*.sln工程

原文:用批处理编译*.sln工程 批处理是直接调用Microsoft Visual Studio 8\Common7\IDE\ 目录内的 devenv.exe ,它启动后就是IDE,提供的参数如下: 用法: devenv [solutionfile | projectfile | anyfile.ext] [switches] devenv 的第一个参数通常是一个解决方案文件或项目文件.如果您希望在编辑器中自动打开文件,也可以使用任何其他文件作为第一个参数.当您输入项目文件时,IDE会在项目文件

图文介绍windows下实现编译ffmpeg工程的详细步骤

本文来自:http://www.cuplayer.com/player/PlayerCode/FFmpeg/2014/0706/1401.html 图文介绍windows下实现编译ffmpeg工程的详细步骤: 1.搭建 MinGW 的编译环境 下载yasm,地址:http://yasm.tortall.net/Download.html 改名为yasm.exe放到C:\WINDOWS\system32 或者 C:\MinGW\msys\1.0\bin文件夹下. 下载 mingw-get-inst

如何用bat批处理编译swf项目

平时用FB等IDE编译多模块的游戏项目时,除了添加移除模块的操作很繁琐外,编译速度也非常之慢.而用bat来编译swf项目,速度非常快,稳定. 在此分享自己工作用的bat,每次运行会重新编译主模块GameLoader.swf,main.swf,并编译相应的子模块. 1 @echo off 2 for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k 3 ::记录编译开始时间

如何用shell脚本编译java工程

编译java工程一般直接用IDE或者用Ant.Maven之类的工具,很少有人用纯shell来编译java工程.正好遇到这样一个应该,用这篇博文做一下记录. 案例:本人用eclipse写了一个java project,然后编译打成jar包. 这个可以采用eclipse自带的Export就可以导出jar了.但是为了软件自动化等巴拉巴拉的原因,采用存shell脚本编译. 如图所示,java project的名称为iec104,下面src是源文件目录,bin是所引用的jar包目录,现在要进行编译,并且打

Keil5.15使用GCC编译器编译STM32工程

我们使用Keil一般使用ARMCC编译MCU工程代码.其实,Keil也是支持内嵌GCC编译器的.我们可以使用GCC来编译我们的工程代码. 一.下载GCC编译器 GCC编译器下载地址 二.安装GCC 我们可以把GCC解压到keil的安装目录下面.如下图 三.配置Keil使用GCC编译器 1.配置CC编译规则,Misc Controls 填写 -mcpu=cortex-m4 -mthumb -fdata-sections -ffunction-sections 2.Assembler中规则,Misc

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

转自: http://ticktick.blog.51cto.com/823160/1365947 一般情况下,我们都是使用Eclipse+ADT插件或者Android studio软件来编译Android工程的,其实,Eclipse或者Android studio仅仅是将一些编译命令封装到可视化界面里而已,通过shell脚本.ADT附带的一些命令以及Ant工具,我们完全可以将Android工程的编译过程自动化,直接通过运行脚本就得到最终的APK文件. Linux下用脚本编译c/c++程序至少需

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

qmake 生成的vs工程与环境变量中的 qmakespec相关,可以有两种方法: 1.默认情况下,即环境变量qmakespec为你装的qt for vs的版本,默认生成的为该版本的vs工程,如,你装的是QT for vs2010,那么环境变量qmakespec=win32-msvc2010,默认情况下生成的是vc2010的工程. 当你的xx.pro的TEMPLATE = subdirs时:用qmake -r -tp vc xx.pro 生成sln. 其他情况下用:qmake -tp vc xx

Android Studio编译大工程报错:java.exe'' finished with non-zero exit value 1

版权声明:本文为博主原创文章,未经博主允许不得转载. Android Studio编译大工程报错:java.exe'' finished with non-zero exit value 1

【Cocos2d-x】编译Android工程时提示error: 'GL_LINE_SMOOTH' was not declared in this scope

在Cocos2d-x项目中用到了OpenGL,使用GL_LINE_SMOOTH开启线条抗锯齿.代码如下: ccDrawColor4B(50, 26, 12, 255); // 设置线宽 glLineWidth(2.0f); // 启用线段反锯齿 glEnable(GL_LINE_SMOOTH); // 画第一条线 ccDrawLine(startPoint1,endPoint); // 画第二条线 ccDrawLine(startPoint2,endPoint); // 关闭线段反锯齿 glDi