zoukankan      html  css  js  c++  java
  • VS2010命令行编译C#和VC项目

    VS2010命令行编译C#和VC项目

    VS2010命令行编译C#和VC项目

      根据需要动态创建数据库字段后,需要动态创建或者调整页面,那就需要编译这些页面和后台文件。因此使用命令行编译将会非常方便,对于C#只需要安装相应版本的Framework即可。这些内容来自网络,并加以整理。
    一 vs2010命令行编译C#项目

    1. C#环境变量设置步骤:

    在桌面右击[我的电脑]--属性--高级--环境变量, 在下面的系统变量栏点击“新建” 变量名输入“csc” 变量值输入:“C:WindowsMicrosoft.NETFrameworkv4.0.30319”(也许你的机器上.net framework的版本会有所不同,因而后面的文件夹名称v4.0.30319会有不同)然后在系统变量列表框中双击“Path” 在变量名文本框的最后面加入“;%csc%;”(注意是双引号内的内容,前后要有分号)其实,有一种更简洁的方法,那就是直接编辑系统变量列表框中双击 “Path”,在后面加上“;C:WindowsMicrosoft.NETFrameworkv4.0.30319;”设置完环境变量,在 cmd命令中输入csc.exe,测试是否成功。

    2. 设置VS2010环境变量
     2.1 include:
     D:Program filesMicrosoft Visual Studio 10.0VCinclude;C:Program FilesMicrosoft SDKsWindowsv7.0AInclude

     2.2 lib:
     D:Program filesMicrosoft Visual Studio 10.0VClib;C:Program FilesMicrosoft SDKsWindowsv7.0ALib

     2.3 path:
     D:Program filesMicrosoft Visual Studio 10.0VCin;D:Program filesMicrosoft Visual Studio 10.0Common7Tools;D:Program filesMicrosoft Visual Studio 10.0Common7IDE

    3. 可加入DirectX的环境变量

    VCBin下没有“msobj100.dll,mspdb100.dll,mspdbcore.dll,mspdbsrv.exe”这四个文件,解决的方法:直接从Common7IDE下复制这四个文件到VCBin下即可解决

    4. csc.exe编译器常用命令:

    命令:csc File.cs ,功能:编译 File.cs以产生 File.exe,另一种写法:csc/out:MyFile.exe File.cs,可以自定义编译生成的执行文件名称
    命令:csc/target:library File.cs ,功能:编译 File.cs 以产生 File.dll,另一种写法:csc/target:library /out:MyFile.dll  File.cs,可以自定义编译生成的库文件名称
    命令:csc/define:DEBUG /optimize /out:File2.exe *.cs ,功能:通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件,输出为 File2.exe
    命令:csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs ,功能:编译当前目录中所有的 C# 文件,以产生File2.dll 的调试版本,不显示任何徽标和警告
    命令:csc /target:library /out:Something.xyz *.cs ,功能:将当前目录中所有的 C# 文件编译为Something.xyz(一个DLL)

    5. 命令行语法规则
    当解释操作系统命令行上给出的参数时,C#   编译器代码使用下面的规则:  
    参数用空白分隔,空白可以是一个空格或制表符。  
    ^   字符   (^)   未被识别为转义符或者分隔符。该字符在被传递给程序中的   argv   数组前,完全由操作系统的命令行分析器进行处理。  
    无论其中有无空白,包含在双引号   ( "string ")   中的字符串均被解释为单个参数。带引号的字符串可以嵌入在参数内。  
    前面有反斜杠的双引号   ( ")   被解释为原义双引号字符   ( ")。  
    反斜杠按其原义解释,除非它们紧位于双引号之前。  
    如果偶数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在   argv   数组中,并且双引号被解释为字符串分隔符。  
    如果奇数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在   argv   数组中,双引号由其余的反斜杠“转义”,使原义双引号   ( ")   被放置在   argv   数组中。


    6. csc.exe编译器命令详解:

    编译器位置:C:WindowsMicrosoft.NETFrameworkv4.0.30319csc.exe  

     - 编译器选项 -                     -   输出文件   -  
      /out:<文件>                       输出文件名(默认值:包含主类的文件或第一个文件的基名称)  
      /target:exe                       生成控制台可执行文件(默认)  (缩写:   /t:exe)  
      /target:winexe                    生成Windows可执行文件         (缩写:   /t:winexe)  
      /target:library                   生成库                        (缩写:   /t:library)  
      /target:module                    生成能添加到其他程序集的模块  (缩写:   /t:module)  
      /define:<符号列表>                定义条件编译符号              (缩写:   /d)  

      /doc:<文件>                       要生成的XML文档文件   
      /recurse:<通配符>                 根据通配符规范,包括当前目录和子目录下的所有文件  
      /reference:<文件列表>             从指定的程序集文件引用元数据  (缩写:   /r)  
      /addmodule:<文件列表>             将指定的模块链接到此程序集中  

    -   资源文件    -
      /win32res:<文件>                  指定Win32资源文件(.res)  
      /win32icon:<文件>                 使用该图标输出  
      /resource:<资源信息>              嵌入指定的资源                (缩写:   /res)  
      /linkresource:<资源信息>          将指定的资源链接到此程序集中  (缩写:   /linkres)  

    -   代码调试    -  
      /debug[+|-]                       发出调试信息  
      /debug:{full|pdbonly}             指定调试类型(“full”是默认类型,可以将调试程序附加到正在运行的程序)  
      /optimize[+|-]                    启用优化                      (缩写:   /o)  
      /incremental[+|-]                 启用增量编译                  (缩写:   /incr)  
       
    -   错误和警告   -  
      /warnaserror[+|-]                 将警告视为错误  
      /warn:                         设置警告等级(0-4)             (缩写:   /w)  
      /nowarn:<警告列表>                禁用特定的警告消息  
       
    -   语言   -  
      /checked[+|-]                     生成溢出检查  
      /unsafe[+|-]                      允许“不安全”代码  
       
    -   杂项   -  
      @<文件>                           读取响应文件以获得更多选项  
      /help                             显示此用法信息                (缩写:   /?)  
      /nologo                           取消编译器版权信息  
      /noconfig                         不要自动包含CSC.RSP文件  
       
    -   高级   -  
      /baseaddress:<地址>               要生成的库的基址  
      /bugreport:<文件>                 创建一个“错误报告”文件  
      /codepage:                     指定打开源文件时要使用的代码页  
      /utf8output                       UTF-8编码的输出编译器消息  
      /main:<类型>                      指定包含入口点的类型(忽略所有其他可能的入口点)   (缩写:   /m)  
      /fullpaths                        编译器生成完全限定路径  
      /filealign:                    指定用于输出文件节的对齐方式  
      /nostdlib[+|-]                    不引用标准库(mscorlib.dll)  
      /lib:<文件列表>                   指定要在其中搜索引用的附加目录


    二 vs2010 命令行编译C/C++程序

    电脑上装了 VS2010 (其他版本亦可)在 Microsoft Visual Studio 10.0VCin 中可以找到 cl.exe 

        1 配置环境变量:要根据实际的安装盘符来修改,这里以 C:为例
            1.1 设置 Path 为:
                %安装路径%Microsoft Visual Studio 10.0VCin;
                        %安装路径%Microsoft Visual Studio 10.0Common7IDE;

            1.2 设置 lib 为:
                %安装路径%Microsoft Visual Studio 10.0VClib
                        C:Program Files (x86)Microsoft SDKsWindowsv7.0ALib (此项为固定路径)

            1.3 设置 include 为:
                %安装路径%Microsoft Visual Studio 10.0VCinclude

        2 命令行编译 命令 cl
                 用法: cl [ 选项... ] 文件名... [ /link 链接选项... ]

                >cl main.c
                用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 16.00.30319.01 版
                版权所有(C) Microsoft Corporation。保留所有权利。
               
                main.c
                Microsoft (R) Incremental Linker Version 10.00.30319.01
                Copyright (C) Microsoft Corporation.  All rights reserved.

                /out:main.exe
                main.obj
                >
               目录下生成 main.exe 和 main.obj 两个文件
        3 执行  >main
                Hello World!
                >

        4 此外,还可以直接用 Visual Studio 命令提示(2010) 直接进行编译,不需要配置。
        Visual Studio 命令提示(2010) 路径 :
        开始 -- 所有程序 -- Microsoft Visual Studio 2010 -- Visual Studio Tools -- Visual Studio 命令提示(2010)

     
    三 VS2010 VC批处理编译生成可执行程序 .
     
      每次编译生成都需要执行以下2步骤:

     1、设置VS2010 VC编译环境

       需要从命令行,进入C:Program FilesMicrosoft Visual Studio 10.0VCBin目录,运行vcvars32.bat批处理文件。具体执行如下:

        cd C:Program FilesMicrosoft Visual Studio 10.0VCin

        vcvars32

     2、执行批处理文件

        只有完成第一步后,再接着执行批处理文件才能有效,而且命令行的当前路径必须是C:Program FilesMicrosoft Visual Studio 10.0VCin。不知何故,可能是微软做了什么设置。批处理文件如下:

    echo off 
    set ICV_SCRIPT=D:iCentroViewiCV-Support5.3Script 
    echo ---------编译和打包视频模块前后台程序---------- 
    echo build time: �te% >> %ICV_SCRIPT%Rebuilder.log 

    echo ----------------准备编译环境---------------- 


     
    echo 请手动拷贝iCV需要的include头文件和library库到iCentroViewiCV-Support5.3路径下 
    path=%path%;%MSDevDir%;..Executable; 
    set ICV_CS=D:iCentroViewiCV-Support5.3SourceVideoSource 
    echo 准备编译环境结束 
     
    echo -------------------开始编译--------------------- 
     
    echo ------------------编译VideoAuth---------------- 
    devenv %ICV_CS%videoserviceSourcemultimediavideoVideoAuthVideoAuth.vcxproj /ReBuild "Release" /out %ICV_SCRIPT%output.txt 
    type %ICV_SCRIPT%output.txt >> %ICV_SCRIPT%Rebuilder.log 
     
    echo ------------------编译VideoService---------------- 
    devenv %ICV_CS%videoserviceSourcemultimediavideoVideoServiceVideoService.vcxproj /ReBuild "Release" /out %ICV_SCRIPT%output.txt 
    type %ICV_SCRIPT%output.txt >> %ICV_SCRIPT%Rebuilder.log 
     
    echo -----------------删除生成的多余文件(.exp/.lib/.ilk)---------------- 
    del ..Executable*.lib 
    del ..Executable*.ilk 
    del ..Executable*.exp 
     
    echo -----------------------全部编译结束--------------- 
     
    pause #暂停 

  • 相关阅读:
    搞笑的口误 [调剂一下生活 :D]
    Win 2003远程管理的实现
    asp.net 实现购物车(DataSet)详细代码[转]
    SQL Server:定时作业的设置方法
    URL Rewrite
    Asp.net 2.0 C#实现压缩/解压功能 [转=向作者‘肖相’无私共享精神致敬]
    网站的赢利模式 从只看排名流量中解脱出来[转]
    一些.net的工具[转]
    Expression孟岩
    sql作业,执行表间数据导入的实验
  • 原文地址:https://www.cnblogs.com/joean/p/4870257.html
Copyright © 2011-2022 走看看