安装完 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. 一般而言此类错误提示信息“不是内部或外部命令”都与环境变量有关

如何解决C#编译中"csc不是内部或外部命令"的问题的更多相关文章

  1. 解决C#编译中"csc不是内部或外部命令"的问题

    安装完 VisualStudio 编译环境后,是不能用命令行直接编译写好的csc文件的,如果不配置环境变量,在命令提示符(cmd)中编译扩展名为cs的文件,会出现错误提示"csc不是内部或外 ...

  2. vue中"‘webpack-dev-server’不是内部或外部命令,也不是可运行的程序"的报错

    在vue项目中发现了这个报错  解决办法将项目里的“node_modules”文件夹删除,然后重新运行cnpm install

  3. 【win7下安装node.js错误:roling back action】与【"grunt" 不是内部或外部命令】 解决方法

    [win7下安装node.js错误:roling back action] 解决方法: Node.js 服务器端的JavaScript Node.js 是一个基于Chrome JavaScript 运 ...

  4. nodejs 提示‘xxx’ 不是内部或外部命令解决方法

    本文介绍了node.js包管理工具npm安装模块后,无法通过命令行执行命令,提示‘xxx’ 不是内部或外部命令的解决方法,给需要的小伙伴参考下.   一般出现这样的问题原因是npm安装出现了问题,全局 ...

  5. ​'JAVAC' 不是内部或外部命令解决方法,记得要重启cmd

    我们在配置完环境变量后,在命令提示框中输入javac命令时,往往会提示javac不是内部或者外部命令时怎么办呢?我们一起来解决它吧! 我们配置完java环境变量之后,在命令行输入javac按下回车键, ...

  6. 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决办法

    前言: 本文的解决方法来自http://www.cnblogs.com/xionghui/archive/2012/04/11/2442404.html --感谢! 问题描述:新电脑装mysql后在c ...

  7. python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    最近发现了python的commands模块,查看了下源码,使用的popen封装的,形成三个函数getstatus(), getoutput(), getstatusoutput() 源码如下: de ...

  8. yiic创建YII应用 "php.exe"不是内部或外部命令 解决办法

    第一步:运行CMD命令.   第二步:进入Yiic文件的目录   (例如在D盘里面 D:/yii/framework)   第三步:D:\yii\framework>yiic webapp D: ...

  9. vue不是内部或外部命令,配置一个Path系统变量就可以解决

    作为一个vue小白,最近为vue安装真是操碎了心.无论怎么查找网上的教程,还是解决不了"vue不是内部或外部的命令"诸如此类的问题.好在功夫不负有心人,终于在多次的试验下,成功解决 ...

随机推荐

  1. hdu 2027 统计元音

    统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. Unity3D 3D坦克大战

    视频学习来源 移动和旋转 using UnityEngine; using System.Collections; /* * Adminer:sun2955 * http:www.yinghy.com ...

  3. linux mysql 安装(rpm)

    linux上安装mysql, 就需要两个文件, xx.client.xx.rpm和 xx.server.xx.rpm 如 MySQL-client-community-5.1.72-1.rhel5.i ...

  4. dumpbin工具的使用

    当我们需要查看一个dll或exe文件中的包含的函数或是依赖的函数之类的信息,可以使用Visual Studio自带的工具dumpbin来实现,使用方法为: 1/ 启动Visual Studio 命令行 ...

  5. 第11条:理解objc_msgSend的作用

    C语言使用“静态绑定”,也就是说,在编译期就能决定运行时所应调用的函数(也就是说函数地址硬编码在指令之中). 如果是内联函数,就无法硬编码在指令之中,而是要在运行期读取出来(也就是动态绑定). 在底层 ...

  6. c语言指针字符串与字符数组字符串的区别

    #include <stdio.h> int main() { //字符串常量,存放于内存常量区. //常量区区的内存具有缓存机制, //当不同指针指向的常量值相同时, //其实这些指针指 ...

  7. Glibc和GCC,ARM-LINUX-GCC的关系

    看到有些贴子/blog上提到「Glibc编译器」,这是个错误的用语.Glibc不是编译器,Glibc不是编译器,Glibc不是编译器.重要的事情说三遍.GCC才是编译器.

  8. 曾经的10道JAVA面试题

    1.HashMap和Hashtable的区别. 都属于Map接口的类,实现了将惟一键映射到特定的值上.HashMap 类没有分类或者排序.它允许一个null 键和多个null 值.Hashtable ...

  9. javascript进阶——测试和打包分发

    建立一个面向对象的好的代码基础后,为了达到代码重用的目的,通过调试使用适当的测试用例进行测试尤为必要,之后就是打包分发的主题. 一.调试与测试 1.调试 Firebug:包含了错误控制台.调试器.DO ...

  10. eclipse 启动 出现Failed to create the Java Virtual Machine" 解决方案

    方法如下: 找到eclipse目录下的eclipse.ini,可以看到如下内容:-startupplugins/org.eclipse.equinox.launcher_1.1.0.v20100507 ...