在命令提示符中编译/执行C#源文件

Compiling/Executing a C# Source File in Command Prompt

如何从命令提示窗口编译和执行.cs文件?


csc.exe是包含在.NET框架中的CSharp编译器,可用于从命令提示符编译。如果使用/target:exe,则输出可以是可执行文件(.exe),如果使用/target:library,则输出可以是dll。csc.exe位于.NET Framework目录中,例如,对于.NET 3.5,c:\windows\Microsoft.NET\Framework\v3.5\

要运行它,首先打开一个命令提示(单击开始…然后键入cmd.exe。然后,您可能需要CD到保存源文件的目录中。

像这样运行C编译器:

1
2
  c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe
            /t:exe /out:MyApplication.exe MyApplication.cs  ...

(全部在一条线上)

如果要编译多个源模块,可以将其放在同一命令行上。如果有其他程序集可供参考,请使用/r:AssemblyName.dll

确保在某个类中定义了一个静态的main()方法来充当"入口点"。

要运行生成的exe,只需在命令提示下键入MyApplication,然后键入

这篇关于msdn的文章详细介绍了命令行编译器的选项。您可以嵌入资源、设置图标、对程序集进行签名—您可以在Visual Studio中执行的所有操作。

如果安装了Visual Studio,则可以在"开始"菜单(在"Visual Studio工具"下)中打开"Visual Studio命令提示",该提示将设置命令行编译所需的所有环境和路径变量。

虽然了解这一点非常方便,但您应该将其与某种构建工具(如nant、msbuild、finalbuilder等)的知识结合起来。这些工具提供了一个完整的构建环境,而不仅仅是基本编译器。

在MAC上

在Mac上,语法类似,只有c-sharp编译器才被命名为csc

1
$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...

然后运行它:

2


您可以编译C程序:

C:>CSC你好.cs

你可以运行程序

你好


编译C程序的另一种方法(不使用Visual Studio或不安装它)是在环境变量中创建一个用户变量,即"路径"。

在此变量中复制以下路径:

"C:windowsmicrosoft.netframeworkv4.0.30319"

或者取决于你的电脑有哪个.NET。

所以你不必每次编译代码时都提到整个路径。简单使用

"C:usersusernamedesktop>cs c[选项]文件名.cs"

或者代码的路径在哪里。

现在你可以走了。


虽然知道如何在命令行中构建确实是一件好事,但对于大多数工作来说,使用IDE可能更容易。C速递版是免费的,而且非常合算;-P

或者,类似snippy的东西可以用来运行C代码的片段。

最后—请注意,命令行是特定于实现的;对于MS,它是csc;对于mono,它是gmcs和friends……同样,执行:对于MS版本,它只是"exename",而对于mono,它通常是"mono exename"。

最后,许多项目都是使用构建脚本工具构建的;msbuild、nant等。


以下是如何安装带有独立C_7.0编译器的msbuild,该编译器不再捆绑在最新的.NET Framework 4.7中:

在没有Visual Studio的情况下,是否可以安装C编译器?

然后就跑

"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
oslyn\csc.exe" MyApplication.cs

将单个源文件编译为可执行文件。

还要注意,.NET核心不支持在没有预配置项目的情况下编译单个源文件。


对于最新版本,首先打开PowerShell窗口,转到任何文件夹(如c:\projects\并运行以下内容

1
2
3
4
5
6
7
8
9
10
11
12
# Get nuget.exe command line
wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe

# Download the C# Roslyn compiler (just a few megs, no need to 'install')
.
uget.exe install Microsoft.Net.Compilers

# Compiler, meet code
.\Microsoft.Net.Compilers.1.3.2\tools\csc.exe .\HelloWorld.cs

# Run it
.\HelloWorld.exe

helloworld.cs示例

1
2
3
4
5
6
7
8
using System;

public class HelloWorld {
    public static void Main()
    {
        Console.WriteLine("Hello world!");
    }
}

您还可以尝试新的C解释器;)

1
2
3
.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!


LinqPad是一种快速测试一些C代码的方法,而且是免费的。


您可以在vs命令提示符内构建类文件(以便加载所有必需的环境变量),而不是默认的Windows命令窗口。

要了解有关使用csc.exe(编译器)构建命令行的更多信息,请参阅本文。


一旦你写下C代码并保存它。您可以使用命令提示符执行它,就像其他代码一样。

在命令提示中,输入文件所在的目录并键入

编译:

1
mcs yourfilename.cs

执行:

1
mono yourfilename.exe

如果希望.exe文件与其他名称不同,请键入

编译:

1
mcs yourfilename.cs -out:anyname.exe

执行:

1
mono anyname.exe

这应该有帮助!


在Windows系统中,当当前目录位于Microsoft Visual Studio中时,请在命令提示符中使用命令csc .cs

有两种方法:

使用命令提示:

  • 启动——>命令提示
  • 使用以下命令将目录更改为Visual Studio文件夹:cd c:Program Files(x86)Microsoft Visual Studio2017
  • 使用命令:csc/.cs
  • 使用开发人员命令提示:

  • Start——>开发者命令提示vs 2017(此处目录已设置为Visual Studio文件夹)

  • 使用命令:csc/.cs

  • 希望它有帮助!