从命令行编译C#代码会出错

时间:2010-08-06 15:55:57

标签: c#

我正在学习本教程:

http://www.csharp-station.com/Tutorials/Lesson01.aspx

我将其粘贴到一个文本文件中,命名为Welcome.cs:

// Namespace Declaration
using System;

// Program start class
class WelcomeCSS
{
    // Main begins program execution.
    static void Main()
    {
        // Write to console
        Console.WriteLine("Welcome to the C# Station Tutorial!"); 
    }
}

然后我进入命令提示符,并指向文件的目录。我键入csc.exe Welcome.cs并收到此错误消息:

csc.exe is not recognized as internal or external command

我正在使用Visual Studio 2008

我尝试将csc.exe移动到Windows目录,现在我收到此错误:

fatal error cs2018: unable to find messages file 'cscompui.dll'

如何从命令行编译我的C#代码?

6 个答案:

答案 0 :(得分:31)

csc.exe不在您的路径中。尝试完全限定它:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe

(当然,用你正在使用的任何框架替换3.5。)

请注意,此处未使用Visual Studio。无论你使用的是什么版本,因为从命令行编译时你没有使用它。命令行编译器是框架本身的一部分。

答案 1 :(得分:7)

您可能正在运行cmd(Windows命令提示符)而不是Visual Studio Tools文件夹中提供的Visual Studio Command Prompt

查看文件夹:

C:\ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ Microsoft Visual Studio 2008 \ Visual Studio Tools

答案 2 :(得分:5)

这很可能是因为包含csc.exe的目录不在你的路径中,因为你只是运行标准的Windows命令提示符。

Visual Studio 2008(所有版本)都有自己的命令提示符。这本质上是cmd.exe,其中包含一些设置脚本,可以访问所有Visual Studio工具(将相关目录放在路径中,作为开头)。

可以通过“开始”菜单轻松访问控制台,应该将其命名为 Visual Studio 2008命令提示符(在 Visual Studio工具文件夹下)。

答案 3 :(得分:3)

如果您希望能够在命令行的任何位置使用CSC.exe和其他框架工具,请将这些工具添加到Path环境变量中。

...根据框架版本,如果安装了Windows SDK,可能会略有不同。 (如果您使用的是64位系统也会有所不同)

  • C:\ Windows \ Microsoft.NET \框架\ v4.0.30319
  • C:\ Windows \ Microsoft.NET \框架\ v3.5版本;
  • C:\ Windows \ Microsoft.NET \框架\ V2.0.50727;
  • c:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin;

答案 4 :(得分:1)

要启用Microsoft .NET Framework的编译器程序 csc.exe 的命令行调用, 将其添加到PATH环境变量的末尾。 < / strong>

右键单击“我的电脑”以选择“属性”。

点击“高级”标签。
点击“环境变量”按钮 向下滚动“系统变量”列表到“路径”变量。
双击“路径
按“结束”键
键入(以分号分隔符开头)

;C:\Windows\Microsoft.NET\Framework\v4.0.30319

(确保匹配C:\Windows\Microsoft.NET\Framework

中正确版本的Framework

点击“确定
单击“确定”以关闭“系统属性”窗口。

验证更改:

打开CMD并输入命令,例如“csc”
你会得到这样的东西

  

C:\用户\杰里\文件\编码&GT; CSC
   Microsoft(R)Visual C#编译器   版本4.0.30319.33440 for Microsoft(R).NET Framework 4.5版权所有   (C)Microsoft Corporation。保留所有权利。

答案 5 :(得分:0)

一些选择: 1)使用Visual Studio Tools文件夹中的“Visual Studio 2008命令提示符”。这会在正确设置路径的情况下加载命令提示符,以便识别工具名称。

2)绕过这个,并从Build菜单中选择“Rebuild Solution”。你的bin目录应该有你的exe。