现在的位置: 首页 > 综合 > 正文

用命令行編譯學習C#

2013年10月16日 ⁄ 综合 ⁄ 共 2339字 ⁄ 字号 评论关闭
虽然手头上有Visual Studio.Net的安装光盘,但VS.Net实在是过于庞大,连MSDN一起装上有2G,安装要近两个小时。我只是初学C#而已,能编译程序就行。但Charles Petzold的书上并没有提及如何用其他方式编译程序,而是直接推荐了VS.Net,呵呵,毕竟是微软的作家啊,肯定得推荐自家的产品咯。
      根据微软的一贯作法,在推出方便(但是昂贵)的IDE开发环境外,同时会提供免费的SDK。搜索一下,马上找到了Microsoft .Net Framework SDK的下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=9b3a2ca6-3647-4070-9f41-a333c6b9181d&displaylang=en,106M。(注意一下,安装SDK前要先安装.Net Framework。)
      SDK安装完毕后,在SDK文档中Search:C# compiler,从找出来的结果看,C#语言的编译器叫csc.exe。哈哈,找到这个不就OK了?马上在C:/Program Files/Microsoft.NET/SDK/v1.1/Bin下找,没有;然后又去C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin下找,也没有;这下我可糊涂了。在这些常见的可执行路径中怎么都没有啊?难道微软不提供免费的C#编译器吗?这没道理啊!没编译器人家怎么用SDK开发程序嘛!
      也许csc.exe被安装在另外一个地方咯。想到这里,实然有点思路,单击“Start”菜单--“Search”,Windos自带的搜索工具就映入眼帘,选择“All file and folds”,在“All or part of file name”中填上csc.exe,然后点击“Search”,几十秒过后,哈哈,找到啦!原来是在这个路径:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322,跑到系统文件夹中去了,怪不得找不到!
      接下来的事情就简单了。新建一个批处理文件SetCscPath.bat,写入如下内容:
 
       @echo off

       Set PATH=C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322;
       C:/Program Files/Microsoft.NET/SDK/v1.1/Bin;%PATH%
       Set INCLUDE=C:/Program Files/Microsoft.NET/SDK/v1.1/include;%INCLUDE%
       Set LIB=C:/Program Files/Microsoft.NET/SDK/v1.1/Lib;%LIB%
       echo Setting environment for using Microsoft .Net Framework Compiler.
       echo Type "csc /?" for brief documentation on compiler options.
       echo.

 
      在C:/Program Files下新建一个文件夹:C# Compiler Command Prompt,将SetCscPath.bat保存到此文件夹里,回到桌面,新建一个名为Microsoft .Net SDK Command Prompt的快捷方式,右键点击此快捷方式,选择“Shortcut”选项卡,在“Target”栏中输入:%comspec% /k "C:/Program Files/C# Compiler Command Prompt/SetCscPath.bat"(红色部分),在“Start in”栏中输入C:/(红色部分)。这样,以后双击这个快捷方式就可以找开一个命令提示符窗口,用csc filename.cs就可以编译C#源代码了。
      下面用最经典的程序HelloWorld来测试一下我们的csc是否工作。
      双击Microsoft .Net SDK Command Prompt快捷方式,在提示符后输入:
 
      notepad HelloWorld.cs
 
      在记事本窗口中写入以下内容:
 
      using System;
 
        class HelloWorld
        {
            static void Main()
            {
                Console.WriteLine( "Hello,World!" );
            }
        }

 
      保存后,回到命令提示符下,输入:
 
      csc HelloWorld.cs
 
      如果你在编辑源代码时没有出错,程序就会成功通过编译(没有任何信息输出),输入:
 
      HelloWorld
 
      程序运行,在命令提示符下输出Hello,World!,然后换行结束。
 
备注:
      关于如何在命令提示符下进行程序的调试,请参看这篇文章:You Can Hack .NET Without Buying Visual Studio .NET,调试需要用到cordbg.exe,这就是我在前面的批处理文件中把C:/Program Files/Microsoft.NET/SDK/v1.1/Bin加到Path中的原因,这样就可以直接使用cordbg,而不要重新设置路径。
      如果想用IDE开发C#程序,但又不想用盗版VS .Net,可以使用SharpDevelop,开源软件,免费使用。

 

抱歉!评论已关闭.