我们可以从Bash脚本调用或执行C#源代码吗?

我们可以从Bash脚本调用或执行C#源代码吗?,c#,linux,bash,mono,execute,C#,Linux,Bash,Mono,Execute,我需要回答的唯一问题是,我们是否可以使用*.cs文件或运行Microsoft Visual Studio从Bash脚本或Linux命令提示符创建的*.exe文件?您可以在命令提示符中使用以下语句运行在Linux上用Mono创建的.NET exe文件: mono myprogram.exe 在Windows上使用Visual Studio创建的可执行文件不能由Mono运行。正如@AWSLC所建议的,您可以使用如下命令使用Wine之类的东西运行它: wine myprogram.exe 如果您使

我需要回答的唯一问题是,我们是否可以使用*.cs文件或运行Microsoft Visual Studio从Bash脚本或Linux命令提示符创建的*.exe文件?

您可以在命令提示符中使用以下语句运行在Linux上用
Mono创建的.NET exe文件:

mono myprogram.exe
在Windows上使用Visual Studio创建的可执行文件不能由Mono运行。正如@AWSLC所建议的,您可以使用如下命令使用Wine之类的东西运行它:

wine myprogram.exe
如果您使用的是Wine,请记住它是linux之上的一个兼容层,因此我推荐Mono作为更安全的方法

如果你是从一个.cs文件开始,你不能用mono运行它,因为它显然不是一个可执行文件。您可以首先使用以下命令编译它:

mcs myprogram.cs

如果在Visual Studio中生成的.cs代码与Mono框架兼容,编译器将生成一个exe文件,您可以使用上面的
Mono
命令运行该文件。

除非使用.NET编译器生成*.cs文件,否则无法运行该文件

*.exe文件只能在windows计算机上运行,除非您在linux上使用wine之类的应用程序来模拟windows程序


然而,像mono这样的编译器可以将*.cs文件编译成可以在linux和mac机器上执行的二进制文件。

您不能直接执行exe,但可以使用类似的方式来运行它。

今天,使用.NET Core,您可以从Windows和linux命令行或脚本中执行#C代码。例如:

test.cs

Console.WriteLine("Hello World");
控制台

>dotnet script test.cs
Hello World

但是,在windows上创建的.net exe文件可以由mono运行,vica也可以运行(假设它们不使用任何特定于平台的东西)。请参见使用mono,您可以在linuxwith mono上执行c#exe,您可以在linuxYes上执行c#exe,但只能使用mono创建exe。