[配置管理]13dotNET项目编译指南

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

DotNET项目编译指南郑重声明:XX软件股份有限公司版权所有。本文檔中任何部分未经XX软件股份有限公司书面授权,不得将材料泄露给第三方,不得以任何手段、任何形式进行复制与传播文件编码文件密级最新发布日期当前版本变更履历版本日期变更位置变更理由/变更内容变更人备注1.0新建1.1根据研发项目管理流程问题巡检检查出的问题进行更新:增加变更履历一、名词解释编译管理软件:公司内部开发的、用于编译管理系统。可以对不同权限的用户提供不同项目的编译服务。Helper工具:公司内部开发的编译辅助工具。可修改每个程序集的版本信息等。二、编译分类.net编译主要有两种编译选项:Debug:用于调试。保存了状态信息,方便调试。开发人员一般使用此设置。Release:用于生成最终的发布代码。给测试和实施人员发布程序时使用此设置。三、编译选项编译选择需重点关注如下几项,其它选项使用默认设置即可。应用程序项(图1)图1编译选项--应用程序程序集名称(N):生成的EXE或DLL文件名称。默认命名空间(L):程序级的命名空间,其它应用调用时使用。输出类型(U):Windows应用程序、控制台应用程序、类库。程序集信息(I):包含了标题、说明、公司、产品、版权、商标、程序集版本、文件版本、GUID等信息(如图2)。图2程序集合信息图标(C):应用程序图标。生成(图3):条件编译符号(Y):如果程序中需要条件编译则再次设置。如下编译指令#ifNET20privateListDriverm_inUsePool;privateQueueDriverm_idlePool;#elseprivateArrayListm_inUsePool;privateQueuem_idlePool;#endif如果在编译符号编辑框输入NET20,则实际编译时使用如下定义privateListDriverm_inUsePool;privateQueueDriverm_idlePool;否则使用另一种定义。将警告视为错误:无表示处理警告;特定警告表示对指定的警告视为错误,不能通过编译;所有则表示编译时不允许有警告,否则编译不通过。输出路径(O):程序集生成的路径,可以是相对路径(默认bin\Debug\)也可以是绝对路径。XML文档文件(X):选中该复选框生成时将同时生成程序的XML说明文档,该文档可以通过其它工具生成html格式的技术文档。图3编译选项--生成生成事件:使用默认设置调试:使用默认设置资源:使用默认设置设置:使用默认设置应用路径:使用默认设置签名:为程序集签名(A):选中该复选框后,可以选择强名称密钥文件(如图4)。如果强名称密钥文件不存在时可以新建(如图5)。图4编译选项--签名图5编译选项--签名--创建强名称密钥代码分析:使用默认设置OCX使用:注册OCX:在开始/运行窗口输入“regsvr32+OCX路径”注册OCX控件。如regsvr32E:\DEV\CI_GOV_YKT\04源代码\05表格打印组件\JQPrintXControl.ocx将OCX添加到.net开发环境中:启动MicrosoftVisualStudio2005开发环境,从菜单栏选择工具/选择工具箱项(如图6),在选择工具箱项窗口切换标签页到COM组件,在COM组件列表找到已注册的OCX控件并选中,点击确定即可(如图7)。如果列表中不存在可通过“浏览”按钮从文件中选择。图6选择工具箱项图7添加COM组件四、手动编译添加引用在编译前应确保该项目说引用的程序集引用都已添加。添加引用的方式为,展开项目找到引用节点,右键单击引用并选择“添加引用”菜单(如图8)。打开添加引用窗口(如图9),选择要引用的文件包括.net自带的程序集、COM组件、项目和自定义程序集等。如果选择了项目,则编译该项目前系统会先编译其所依赖的其它项目。图8添加引用图9添加引用窗口生成生成当个项目:选择要编译的项目,单击右键选择“生成”或“重新生成”菜单图10生成单个项目生成整个解决方案:在开发界面菜单中选择生成/生成解决方案菜单即可。图10生成解决方案注意事项如果OCX重新注册,则需要先对清理再生成,或者选择重新编译菜单。五、自动编译原理自动编译就是将编译过程做成批处理文件,通过执行批处理文件便可完成更个编译过程。编译过程需要解决如下几个问题。1、版本自动生成(生成规则见附录A):每个程序集(EXE或DLL)文件都可以有自己的版本,版本信息存放在每个项目中的AssemblyInfo.cs文件中,因此编译时只需要修改AssemblyInfo.cs文件中相应的信息即生成所需的版本。我们是通过公司内部的helper小程序实现。2、OCX控件自动注册:可使用regsvr32实现。参数“-s”表示注册OCX控件,参数“-u–s”表示取消注册。3、编译:利用.net自带的devenv工具可以实现用命令的方式编译。4、错误处理:当发生编译错误时应将错误信息写入日志文件。步骤1、设置环境变量PATH=C:\ProgramFiles(x86)\MicrosoftVisualStudio8\Common7\IDE;C:\ProgramFiles(x86)\WinRAR;C:\ProgramFiles(x86)\Borland\StarTeamCross-PlatformClient2008;D:\Projects\ci_gov_ykt1.0\build;%PATH%;2、设置目标文件夹路径setDestDir=D:\Projects\ci_gov_ykt_client1.0\out\3、获取源文件到文件编译目录(如果文件编译目录中已存在源文件则应先删除)stcmdco-p用户名:密码@10.2.9.250:49201/CI_GOV_YKT/CI_GOV_YKT/04源代码/02客户端/-o-is-fpD:\Projects\ci_gov_ykt_client1.0\source\4、获取OCX文件stcmdco-psun:zhangxuewen@10.2.9.250:49201/CI_GOV_YKT/CI_GOV_YKT/04源代码/05表格打印组件/-o-is-fpD:\Projects\ci_gov_ykt_client1.0\source\ocx5、注册OCX控件regsvr32-u-sD:\Projects\ci_gov_ykt_client1.0\source\ocx\JQGrid.ocxregsvr32-sD:\Projects\ci_gov_ykt_client1.0\source\ocx\JQGrid.ocxregsvr32-u-sD:\Projects\ci_gov_ykt_client1.0\source\ocx\JQPrintXControl.ocxregsvr32-sD:\Projects\ci_gov_ykt_client1.0\source\ocx\JQPrintXControl.ocxregsvr32-u-sD:\Projects\ci_gov_ykt_client1.0\source\ocx\JQImportXControl.ocxregsvr32-sD:\Projects\ci_gov_ykt_client1.0\source\ocx\JQImportXControl.ocx6、设置年、月、日、时、分变量,这些变量的值有外部程序helper提供helperget-yifnoterrorlevel0gotodirerrorsetYear=%errorlevel%7、设置生成目标文件夹名称。(文件夹名称格式:yyyy-mm-dd-hh.mm)setDestDir=%DestDir%%year%-%month%-%day%-%hour%.%minute%\8、创建Release路径setReleaseDir=%DestDir%release\9、创建日志路径setLogDir=%DestDir%log\10、修改程序集版本号(如果一个项目有多个程序集是需分别改写)。改写版本号的功能有外部程序helper提供ifexistD:\Projects\ci_gov_ykt_client1.0\source\Jiuqi\YKT\mkdirD:\Projects\ci_gov_ykt_client1.0\source\Jiuqi\YKT\helperwrite.netverD:\Projects\ci_gov_ykt_client1.0\source\Jiuqi\YKT\AssemblyInfo.cs11、编译devenvD:\Projects\ci_gov_ykt_client1.0\source\JIuqi\YKT\JQYKT.sln/rebuildRelease%LogDir%build.log12、错误处理ifnotexistD:\Projects\ci_gov_ykt_client1.0\source\Jiuqi\YKT\bin\Release\JQYKT.exegotobuilderrorcopyD:\Projects\ci_gov_ykt_client1.0\source\Jiuqi\YKT\bin\Release\*.*%ReleaseDir%gotoover:direrrorecho创建目标文件夹失败:builderrorecho编译失败,应该与研发负责人联系,解决编译错误的问题:over使用方法工作站Starteam服务器编译服务器1423编译过程1、测试人员使用编译管理软件向编译服务器发送编译请求。如图编译过程中的①。2、编译服务器从StarTeam服务获取要编译的文件。如图编译过程中的②、③。3、编译服务修改源文件版本信息,并生成程序集和日志文件。如图编译过程中的④4、从编译服务获得可执行文件。附录:A版本号生成规则1、如果整个程序有大的调整,有了很大的改观就升级大版本号,如可以从1.0变成2.02、如果是按阶段发布版本,就可以改小数位第一位,如:1.1、1.2、1.3……3、如果是阶段内每天有改动,可以在后面加上年份和日期,年份从今年开始递加如:1.0.00807,如果是明年的1月21日则是:1.0.101214、最后一位表示当天的改动次数,如第一次改动版本号是:1.0.00807.1,第二次改动是:1.0.00807.25、每个动态库或exe文件都应有独立的版本信息。附录BVista上注册OCX的方法一、UAC说明UAC(UserAccountControl:用户帐户控制)是微软为提高系统安全而在WindowsVista中引入的新技术,它要求所有用户在标准账号模式下运行程序和任务,阻止未认证的程序安装,并阻止标准用户进行不当的系统设置改变。可以防止恶意软件获取特权,就算用户是以管理员帐户登录也可以起到保护作用。二、手动方法:1、启动vista后,在‘开始’→‘运行’框中输入“msconfig”命令,点击‘确定’。(也可以通过‘开始’→‘管理工具’→‘系统配置’来打开系统配置对话框)2、在弹出的‘系统配置’对话框中,切换到‘工具’页签,拖动滚动条,找到并选择‘禁用UAC’选项,点击‘启动’按钮禁用UAC功能。3、点击‘确定’,重启计算机。4、计算机重新启动后,安装并注册OCX控件。5、所需OCX控件下载完毕后,重新打开‘系统配置’对话框,选择‘启用UAC’选项,点击‘启动’启动UAC功能。(此一步非常重要,一定要启动UAC功能,以保证vista操作系统的安全性)6、重启电脑。三、自动方法1、右键单击‘禁用UAC并重启电脑.bat’程序,选择‘以管理员身份运行’,按照提示完成后,等待电脑重启完毕,安装并注册OCX控件。2、运行‘启用UAC并重启电脑.bat’程序,进行UAC功能的开启和电脑的重启工作。四、禁用UAC并重启电脑bat文件内容@echoWindowsRegistryEditorVersion5.00UAC.reg@echo

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功