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 #暂停 

  • 相关阅读:
    三个心态做人做学问 沧海
    成功走职场要找准自己的"快捷键" 沧海
    免费离线下载 拂晓风起
    Hibernate 获取某个表全部记录时 奇怪现象 (重复出现某个记录) 拂晓风起
    无法读取mdb 如果连接不了ACCESS mdb文件,就尝试安装MDAC 拂晓风起
    Netbeans 使用 Hibernate 逆向工程 生成hbm和pojo 拂晓风起
    如何点击单选框 radio 后面的文字,选中单选框 拂晓风起
    Java 连接access 使用access文件 不用配置 拂晓风起
    mysql下如何执行sql脚本 拂晓风起
    Hibernate配置access Hibernate 连接 access 拂晓风起
  • 原文地址:https://www.cnblogs.com/joean/p/4870257.html
Copyright © 2011-2022 走看看