安装完 VisualStudio 2010编译环境后,是不能用命令行直接编译写好的csc文件的,如果不配置环境变量,在命令提示符(cmd)中编译扩展名为cs的文件,会出现错误提示“csc不是内部或外部命令,也不是可运行的程序,或批处理文件”。这时只需配置好环境变量,就可以成功执行csc命令编译C#源码了。


解决方案:

使用记事本编写一个C#程序,保存后将扩展名改为cs,存储在D盘中。这个文件会成为本例中的一个样本。代码大意为向命令行中写下“i love u”。


找到NET Framework的安装路径,在.NET Framework的安装路径上,可以看到标识有本台机器上已经安装的.NET Framework各版本的文件夹,选择写有最新版本的文件夹进入。如本机中.NET Framework版本为“v4.0.30319”(我的是64位的Win8操作系统,所以选择Framework64下的目录)。


进入文件夹后,用鼠标左键单击上方的地址栏,获取该文件夹在系统中的绝对地址。复制下这个地址。


找到桌面上的“计算机”图标,右键单击,并在弹出的菜单中点击“属性”。如果桌面上没有“计算机”图标,可以在始菜单下方的输入框中输入“系统”进入。


在进入“系统”属性设置窗体后,点击左侧的“高级系统设置”,在弹出的“系统属性”设置中找到“高级”选项卡中的“环境变量”。



在下方的“系统变量”中找到变量“PATH”,点击下方的编辑。


将刚才复制的地址复制到“PATH”的最后。注意如果之前PATH项已经有内容,需要在原来内容最后输入英文的分号“;”,加以分隔。环境变量设置完毕后,单击“确定”保存并退出设置界面。


此时就可以使用csc命令对cs文件进行编译了。在设置完环境变量后,cmd需要重启一次,才能执行csc命令。执行成功后界面如下图所示。


这时在D盘可以看到编译好的可执行文件。该文件可以正确执行。


注意事项

1. 本问题的处理与Java中处理javac命令的过程类似

2. 一般而言此类错误提示信息“不是内部或外部命令”都与环境变量有关


怀有希望!