zoukankan      html  css  js  c++  java
  • C#命令行编译器的步骤介绍

    下面我给大家讲解一下如何配置C#命令行编译器

    1.配置C#命令行编译器:
    我的电脑 —〉高级 —〉环境变量 —〉Path —〉添加";C:\Windows\Microsoft.NET\Framework\v2.0.50727"(Path的最后一个路径虽版本的改变而改变)。csc.exe(C#命令行编译器)就放在该目录下。通过csc /?来查看所有参数。

    2.配置其它.NET命令行工具
    我的电脑 —〉高级 —〉环境变量 —〉Path —〉添加";D:\ProgramFiles\Microsoft Visual Studio 8\SDK\v2.0\Bin"(Path随安装目录的改变而改变,如果安装在C:\,则为";C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin"

    3.通过csc命令行编译器来编译C#文件,以下为一个例子
    1)在D盘下新建一个名为test.txt文本文件,输入以下文本后保存为test.cs文件

    //一个简单的C#应用程序.
    using System;
    class TestApp
    {
    public static void Main()
    {
    Console.WriteLine("Test! 1,2,3");
    Console.ReadKey();
    }
    }
    2)运行 —〉cmd —〉D:\ —〉csc D:\test.cs, 编译成功后在D盘下生成test.exe可执行文件
    3)输入test.exe,回车,显示结果(Test! 1,2,3)

    4.接下来通过引入System.Windows.Forms命名空间来生成Windows Forms程序,test.cs
    修改为如下后再次编译

    //一个简单的C#应用程序.
    using System;
    //一定要加上下面一行
    using System.Windows.Forms;

    class TestApp
    {
    public static void Main()
    {
    Console.WriteLine("Test! 1,2,3");
    MessageBox.Show("Hello...","Application");
    Console.ReadKey();
    }
    }
    5.使用csc.exe编译多个源文件

    //HelloMessage.cs
    using System;
    using System.Windows.Forms;

    class HelloMessage
    {
    public void Speak()
    {
    MessageBox.Show("Hello");
    }
    }

    //Test.cs
    using System;
    class TestApp
    {
    public static void Main()
    {
    Console.WriteLine("Testing! 1,2,3");
    HelloMessage h = new HelloMessage();
    h.Speak();
    }
    }
    参数/out:编译结果的存放位置和名称

    csc/out:e:\a.exe test.cs HelloMessage.cs

    或者编译当前目录下的所有cs文件: csc/out:e:\a *cs

    至此,配置C#命令行编译器就成功了。

    出处:http://developer.51cto.com/art/200908/144575.htm

    ====================================================================================

    学习C#时,有时真的不喜欢用VS来做,在点IDE风头盖过程序本身,受到的干扰很多。不如用cmd窗口来得方便,而且还可以学习一些编译器选项,现在总结一些少经验:


    编译出来的exe程序那里去了?

    打开 Visual Studio 20XX, 命令提示,我现在以2008为例,看到以下界面:

    于是,你可以在里面输入CSC编程命令了,我来一个最简单的如:

    CSC /target:exe "D:\C#学习\应用程序配置练习\Example_2.cs"   

    上行命令中的红色部分,是否要自己输入呢?每次都输入不是很麻烦!事实上用,只要输入前面的部分后,将文件拖放到cmd窗口中,路径就自动加上去了。

    但是不是每一次编译都必须拖放呢?也不用,使用键盘上的上下方向键就可以将以前输入的命令调出来。

    好的,程序编译完成了,没有错误,但你看看 D:\C#学习\应用程序配置练习 这个文件夹,似乎什么都没有发生变化呀!

    没有出现exe文件呀,事实,编译出来的文件出现在 D:\Program Files\Microsoft Visual Studio 9.0\VC    这个文件夹中,为什么呢?

    看看上面的图,因为当前路径就是在这个文件夹呀,所以在编译之前,还得做一个工作,使用chdir 命令将当前路径 转换到C#源程序所在路径下。如下图所示:

    使用out选项,使用out选项能够指定程序的输出路径及文件名,如以下命令:

    csc /target:exe /out:"C:\Documents and Settings\Administrator\桌面\PsTools\a.exe" "E:\study\C#学习\CsharpP253.cs"

    编译的是红色文字代表的C#源代码文件,生成到什么那个路径之下,文件名是什么,就是青色文字所示。

    注意,如果路径中有空格,一定要使用双引号将其括起来,否则将出来错误!事实上,将所有的路径都双引号括起来就没有行了。


    查询本机上安装的.NET平台,在没有VS IDE的情况下编译程序

    有时候,本机上可能安装了多个版本的.NET或多个版本的VS 20XX,或有些版本安装了.NET但没有安装对应的VS IDE,至于本机安装的是十么一个情况,可能自己都不记得了,在这种情况下,可以通过 注意表查询命令 REG QUERY 来获得相关信息,具体的做法是在CMD窗口串输入以下命令:

    REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework",这项命令的意思是查询注册表中关于 .NET的相关信息,你可以看到类似以上的输出:


    通过上图,我们可以看出,本机上所有的.NET版本,在这些版本对应的文件夹中,一般都有对应的及csc.exe这个程序,这就是我们平时用来进行程序编译的程序,如对于上图,在文件夹C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 就可以找到 csc.exe这个程序,所以不安装VS IDE,只安装.NET平台,也是可以编译程序的,

    只不过是在cmd窗口中切换当前路径到csc.exe这个程序所在的路径,再输入编译命令即可!


    但以上这样做会导致一个问题,即程序生成的exe.dll 等文件,并不在 C# 源代码文件所在的文件夹下,因为你当前的路径不是C#源代码所在的路径呀!如果要想生成的exe ,dll在C#源文件夹下,则必须在/out:中输入完整的路径名,很麻烦。

    要解决这个问题,可以先使用path语句,即在cmd窗口中先输入:

    path = C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319

    (当然上面的路径就是 csc程序所在的路径)

    再输入csc即可

    同时编译多个C#文件怎样做。

    方法很简单,只需要把需要编译的C#文件按顺序排列就是了,注意,是按顺序排列呢?举个例子,如果at.cs文件引用了 gl.cs中的类,那么排列的先后顺序应该是先gl.cs,接着at.cs,如果是一个示例:

    csc @bill_arcEngine_csc.rsp /out:"自已写程序验证arcGisLicense.exe" /t:exe  "cshape2.cs" "使用程序初始化ArcGis_License.cs"

     

    如何引用编译时添加多个引用,这个当前没有找到更好的办法,一个解决方法是使用多个/r选项,中间用空格隔开,如下面是一个示例:

    csc/r:"C:\WINDOWS\assembly\GAC_MSIL\ESRI.ArcGIS.System\9.3.0.1770__8fc3cc631e44ad86\ESRI.ArcGIS.System.dll" /r:"C:\WINDOWS\assembly\GAC_MSIL\ESRI.ArcGIS.Display\9.3.0.1770__8fc3cc631e44ad86\ESRI.ArcGIS.Display.dll" /out:"自已写程序验证arcGisLicense.exe" /t:exe "使用程序初始化ArcGis_License.cs"

    出处:http://hi.baidu.com/billschen/item/7bd8203d6779dfbd134b1411

  • 相关阅读:
    3-1
    3-2
    习题二 8
    习题二 3
    习题二 5
    习题二 4
    习题二 6
    实验三-2未完成
    实验三
    心得
  • 原文地址:https://www.cnblogs.com/mq0036/p/2832389.html
Copyright © 2011-2022 走看看