用批处理编译*.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
用批处理编译*.sln工程(转)相关推荐
- 【开发工具】之windows下通过批处理编译VS工程
工程文件为lencod.sln,批处理文件为bulit.bat(与*.sln文件在同级目录). @echo off rem example: build.bat Relase/Debug Win32/ ...
- 编写批处理文件编译.Net工程
问: 如何通过命令行的方式编译.Net工程? 答: 使用随Visual Studio一块安装的devenv.com,再加上参数可以对.Net进行编译,如下 c:\Program Files\Micro ...
- 使用vs2015打开以前版本的.sln工程不兼容的问题
1.如图,使用vs2015打开以前的vs版本创建的工程时,提示不兼容,工程下显示不了文件信息: 2.在网上搜索了许久,找到了许多五花八门的办法,总结有下面几种: 1)下载vs project conv ...
- 用matlab调用vs2015来编译vs工程
用matlab调用vs2015来编译vs工程 一.背景: 在测试仿真模型的时候需要自动化批量测试.而模型的输入是一个加密的任务文件.这个文件是大佬用cpp写的,需要用vs编译. 二.目的: 因此我想要 ...
- CMake编译VS工程,生成解决方案时遇到错误:error MSB3073: 命令“setlocal”
一.问题描述 CMake编译ZXing-cpp,编译成功后,打开项目,x86(win32)平台生成解决方案成功,但在x64平台,debug模式下报错:error MSB3073: 命令"se ...
- Visual Studio的sln工程设置VTK、ITK项目
Visual Studio的sln工程设置VTK.ITK项目 最近在学习使用VTK和ITK,使用Visual Studio新建Qt项目时发现项目不是使用过去使用的CMake组织,而是使用的Visual ...
- android 牛人必修 ant 编译android工程
最近比较懒,博客一直都没更新,上次有人问ant 来编译android 工程,这里我就完整的整理了一下.如果你嫌弃IDE太慢或者觉得手动编译更Cool,不用IDE你可以学到更多.也是成为牛人的必修课啊! ...
- Win平台使用cmake工具生成sln工程示例
先安装一个版本的cmake,3.17.2; 这应该是比较新的版本:我看到有的示例是3.7以下版本: cmake加到系统path变量: 安装完成: 新建一个C#prj目录,下面放一个cs文件,新建一个m ...
- ant 编译android工程(转)
最近比较懒,博客一直都没更新,上次有人问ant 来编译android 工程,这里我就完整的整理了一下.如果你嫌弃IDE太慢或者觉得手动编译更Cool,不用IDE你可以学到更多.也是成为牛人的必修课啊! ...
最新文章
- 在Ubuntu 14.04 64bit上安装epub阅读器Sigil 0.8.2
- python冒泡排序与常用数学计算
- 001.搭建开发环境
- 计算机研究生怎样提高英语水平,英语对计算机专业的重要性及如何提高英语水平...
- javascript中的replace方法
- 微信开发者工具一打开代码编辑区文件全部不见了
- codeforces 558E A Simple Task 线段树
- 《深入理解计算机系统》第七章 链接
- 理解ASP.NET中的三层结构
- MySQL工作笔记-使用事件和存储过程定时更新某表数据
- [python] 函数小结
- ApplePay支付使用
- ImportError: cannot import name '_ellipsoid'
- python付费课程推荐知乎_新手小白学习Python,有什么课程推荐吗?
- 自定义char类型字段
- 一位程序员和他的程序员老婆分手了,原因竟是…
- DOM操作与引用资源的前后关系
- python去重且顺序不变_python实现文本去重且不打乱原本顺序
- ios 销毁当前页面重新开启_iOS - 切换rootViewController时,销毁之前的控制器
- 谷歌相机镜像翻转_Google快速翻转:有用还是没用?
热门文章
- 本地Windows远程桌面连接阿里云Ubuntu 16.04服务器:
- bindservice启动服务
- mysql中in的用法总结_MySQL中的find_in_set()函数使用技巧心得与应用场景总结
- xshell导出文件用ftp到本地_使用xshell从远程服务器下载文件到本地
- python 类装饰器 __set___python装饰器代替set get方法实例
- linux 多线程条件变量,linux多线程之条件变量
- java公寓管理系统设计与实现_学生公寓(宿舍)管理系统的设计与实现(论文范文, jspjava).docx_蚂蚁文库...
- a标签被选择的底色_实施特殊管理,婴配乳粉标签书写有规矩(下)
- java jframe显示图片_java怎么在JFrame中显示动态图片
- 天龙固件U盘更新_硅格T18D量产工具下载_硅格T18D量产工具官方版下载[u盘格式化]...