如何从命令提示符窗口编译和执行.cs文件?
答案 0 :(得分:124)
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
)。然后,您可能必须cd到保存源文件的目录中。
像这样运行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>
。
This article详细介绍了命令行编译器的选项。您可以嵌入资源,设置图标,签署程序集 - 您可以在Visual Studio中执行的所有操作。
如果安装了Visual Studio,则可以在“开始”菜单(在Visual Studio工具下)中打开“Visual Studio命令提示符”,该命令将为命令行编译设置所有必需的环境和路径变量。
虽然知道这一点非常方便,但您应该将其与某些构建工具的知识相结合,例如NAnt,MSBuild,FinalBuilder等。这些工具提供了完整的功能。构建环境,而不仅仅是基本的编译器。
在Mac上,语法类似,只有C sharp Compiler名为csc
:
$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...
然后运行它:
$ mono MyApplication.exe
答案 1 :(得分:12)
您可以编译C#程序:
c:&gt; csc Hello.cs
您可以运行程序
c:&gt;你好强>
答案 2 :(得分:11)
编译C#程序的另一种方法(不使用Visual Studio或未安装) 是在环境变量中创建用户变量,即“PATH”。
在此变量中复制以下路径:
<强> “C:\的Windows \ Microsoft.NET \框架\ v4.0.30319”强>
或取决于您的PC具有哪种.NET。
因此,每次编译代码时都不必提及整个路径。 只需使用
“C:\ Users \ UserName \ Desktop&gt; csc [options] filename.cs”
或代码路径的任何位置。
现在你很高兴。
答案 3 :(得分:7)
虽然知道如何在命令行构建是一件好事,但对于大多数工作来说,使用IDE可能更容易。 C#express edition是免费的,非常有钱;-p
或者,snippy之类的东西可用于运行C#代码片段。
最后 - 注意命令行是特定于实现的;对于MS,它是csc
;对于mono,它是gmcs
和朋友....同样,要执行:它只是MS版本的“exename”,但通常是单音的“mono exename”。
答案 4 :(得分:4)
以下是如何使用独立的C#7.0编译器安装MSBuild,该编译器不再捆绑在最新的.Net Framework 4.7中:
Is it possible to install a C# compiler without Visual Studio?
然后运行
AndroidManifest.xml
将单个源文件编译为可执行文件。
另请注意.Net Core doesn't support compiling single source file没有预先配置的项目。
答案 5 :(得分:3)
对于最新版本,首先打开一个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!
答案 6 :(得分:2)
您可以在VS命令提示符下构建类文件(以便加载所有必需的环境变量),而不是默认的Windows命令窗口。
要了解有关使用csc.exe(编译器)构建命令行的更多信息,请参阅this article。
答案 7 :(得分:2)
LinqPad是测试一些C#代码及其免费的快速方法。
答案 8 :(得分:1)
编写c#代码并保存后。您可以使用命令提示符执行它,就像其他代码一样。
在命令提示符下,输入文件所在的目录并键入
编译:
mcs yourfilename.cs
执行:
mono yourfilename.exe
如果您希望.exe文件与其他名称不同,请键入
编译:
mcs yourfilename.cs -out:anyname.exe
执行:
mono anyname.exe
这应该有帮助!
答案 9 :(得分:1)
如果已安装Visual Studio,则将具有VS的Developer Command Prompt。您可以使用csc
命令轻松构建程序,并在开发人员命令提示符下使用应用程序名称运行应用程序。
您可以打开开发人员命令提示符,如下所示。
开始=> VS的开发人员命令提示符
希望这会有所帮助!
答案 10 :(得分:0)
在Windows系统中,当前目录位于Microsoft Visual Studio \ <年份> \ <版本>
中时,在命令提示符下使用命令csc <filname>.cs
有两种方法:
使用命令提示符:
使用开发人员命令提示符:
开始-> VS 2017开发人员命令提示符 (此处目录已设置为Visual Studio文件夹)
使用命令:csc /.cs
希望有帮助!
答案 11 :(得分:0)
添加到路径
C:\Windows\Microsoft.NET\Framework\v3.5
要编译:
csc file.cs
要执行:
file
答案 12 :(得分:0)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn
在这里可以找到支持c#7的c#编译器,否则它将使用仅支持c#5的.net 4编译器
答案 13 :(得分:0)
Microsoft已将其编译器移至Github(当然):
答案 14 :(得分:0)
我已经编写了一个批处理文件 CompileCS.cmd
,该文件允许编译(并可选地运行)C#文件,您可以找到包括the batch program 'CompileCS' here在内的完整答案。
它的用法很简单:
CompileCS /run GetDotNetVersion.cs
[arg1] ... [arg9]
将编译并运行GetDotNetVersion.cs-如果您只想编译它,则忽略/run
参数。
控制台应用程序GetDotNetVersion.cs
来自this answer。
答案 15 :(得分:0)
PowerShell 可以立即执行 C# 代码。
一个用于编译和执行文件的 liner:
(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#");
}
}