无法在Linux上运行C#控制台应用程序(net 6.0)



我有一个在net6.0下编写的C#控制台应用程序。我用mono运行了它编译的exe文件(我在Windows中编译了它,并将整个发布的文件夹上传到Linux虚拟机(,得到了以下消息:

文件不包含有效的CIL映像。

我检查了另一个线程并重新安装了dotnet软件包。但它仍然没有成功。

请提供一些帮助。谢谢

我终于找到了答案:

  1. 到目前为止,Mono与.net6不兼容
  2. 运行代码的正确命令行是:

dotnet program.dll

(exe文件在此不起作用(

谢谢你们的帮助。

.NET 6与Mono不兼容,因此如果您希望.NET 6控制台应用程序在Linux上运行,则需要严格遵循.NET Core/.NET 6指南

在Ubuntu 上运行独立的ASP.NET Core应用程序

";composed exe文件";由dotnet publish为.NET 6控制台应用程序生成的完全是不包含MSIL的本机Windows可执行文件(相当于.NET CLI可执行文件(。这就是为什么当您强制Mono运行时加载它";文件不包含有效的CIL图像";据报道。不要检查任何其他线程,因为Mono正在消失,而不是您此刻应该使用的线程,https://halfblood.pro/the-end-of-mono/

最新更新