CSC.exe是包含在.NET Framework中的CSharp编译器,可以用于命令提示符中进行编译。如果使用“/target:exe”,输出可以是可执行文件“.exe”,如果使用“/target:library”,则输出可以是DLL。CSC.exe在.NET Framework目录中找到,例如对于.NET 3.5,路径为c:\windows\Microsoft.NET\Framework\v3.5\
。
要运行,首先打开命令提示符,点击“开始”,然后键入cmd.exe
。然后您可能需要进入包含源文件的目录。
像这样运行C#编译器:
c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe
/t:exe /out:MyApplication.exe MyApplication.cs ...
如果您有多个源模块需要编译,可以将它放在同一条命令行中。 如果有其他程序集要引用,请使用/r:AssemblyName.dll
。
确保在您的类中定义了一个静态Main()方法,作为“入口点”。
要运行结果为EXE的文件,请在命令提示符后面输入MyApplication
,然后按下<ENTER>
。
这篇文章在MSDN上详细介绍了命令行编译器的选项。 您可以嵌入资源,设置图标,签署程序集-您可以在Visual Studio中做的所有事情。
如果已安装Visual Studio,则可以在“开始菜单”下的Visual Studio工具下打开“Visual Studio命令提示符”,该提示符将设置所有所需的环境和路径变量以进行命令行编译。
虽然了解这一点非常方便,但您应该与某种构建工具(如NAnt,MSBuild,FinalBuilder等)的知识相结合。 这些工具提供了完整的构建环境,而不仅仅是基本编译器。
在Mac上,语法类似,只是C#编译器的名称为csc
:
$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...
$ mono MyApplication.exe
C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
。 - TrakJohnson另一种编译C#程序的方法(不使用Visual Studio或未安装它)是创建一个用户变量在环境变量中,即“PATH”。
将以下路径复制到此变量中:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319"
或者根据您的PC所拥有的.NET版本而定。
这样,您每次编译代码时就不必提及整个路径。只需使用
"C:\Users\UserName\Desktop>csc [options] filename.cs"
或者您代码的路径所在的地方。
现在您可以开始使用了。
获取最新版,请先打开 PowerShell 窗口,进入任意文件夹(例如c:\projects\
),然后运行以下命令
# 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')
.\nuget.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
using System;
public class HelloWorld {
public static void Main()
{
Console.WriteLine("Hello world!");
}
}
您也可以尝试新的C#解释器;)
.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!
PowerShell可以直接执行C#代码。
一行命令编译并执行文件:
(Add-Type -Path "Program.cs" -PassThru)::Main() #'Main' is the entry point
假设你有一个像这样的 .cs 文件:
using System;
public class Program
{
public static void Main()
{
Console.WriteLine("Hello from C#");
}
}
添加到路径
C:\Windows\Microsoft.NET\Framework\v3.5
编译:
csc file.cs
执行:
file
dotnet new console
命令,它将会生成所需的文件,例如.csproj文件,同时也会自动生成一个Program.cs文件作为入口点。如果你有其他带有静态Main方法的文件,可以删除这个文件,系统会自动找到Main入口点。然后,你只需要运行dotnet run
命令就可以编译和运行程序了。这是我在使用GitBash作为终端的VS Code中解决问题的方法。我安装了VS 2019,并使用了该软件提供的.NET 5.0框架作为我的系统变量。这是我发现的最简单的基本控制台程序解决方案之一,它还允许你在.csproj文件中添加自定义导入。dotnet build
会生成一个.exe文件。 - Chris Broskicsc <filename>.cs
。开始 --> VS 2017的开发人员命令提示符(此处目录已设置为Visual Studio文件夹)
使用命令:csc /.cs
CompileCS.cmd
**,它允许您编译(并可选地运行)C#文件。它在内部使用csc.exe,并调用本地PC上找到的最新版本。您可以在StackOverflow上找到批处理程序'CompileCS'的链接,我在那里回答了如何获取最近安装的csc.exe。 - Matt