我应该用什么命令从Linux命令行启动这个C#程序?我已经编译了它(使用Monodevelop),但我不知道如何从命令行启动它.
using System;
class ExampleClass
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
Run Code Online (Sandbox Code Playgroud)
在Linux上启动C#(或任何其他.NET)程序所需的命令行取决于您如何配置Linux系统.
标准答案是运行mono程序,并将可执行程序集的名称作为参数传递.可执行程序集的名称通常与项目文件的名称相同,但您可以轻松更改它; 只需.exe在完成编译后查找以文件结尾的文件.它将在名为bin\Debug或bin\Release类似的文件夹中找到(这取决于您如何设置项目构建设置).所以,如果你构建了一个名为的程序,hello.exe你将进入你的项目文件夹并运行:
~/projects/hello $ mono bin\Debug\hello.exe
Run Code Online (Sandbox Code Playgroud)
您需要运行该mono程序的原因是因为Linux默认情况下不知道如何自动运行.NET运行时.当您在Windows上安装.NET时,它实际上会更改加载程序的操作系统部分,因此Windows只会自动识别.NET程序并加载运行时.在Linux上,您需要mono首先运行程序来自己完成.
如果在Linux上运行大量托管代码,还可以将Linux内核配置为与Windows相同的方式.Linux支持"杂项二进制格式",允许您告诉Linux如何执行非本机Linux格式的二进制文件.这有点高级 - 它可能需要您构建一个自定义内核,但如果您的Linux发行版有更好的方法,我也不会感到惊讶.有关此过程的更多信息,请访问:
http://www.kernel.org/doc/Documentation/mono.txt
| 归档时间: |
|
| 查看次数: |
3812 次 |
| 最近记录: |