在运行NancyFx时,Mono出现未处理的异常。

6

我正在运行Ubuntu 12.04,已安装mono-runtime包。在我的Windows机器上,我的NancyFx自托管应用程序可以编译成功,只有1个警告,但当我尝试在我的VPS上运行它时,出现以下错误:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or
assembly 'System.Core, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' or one
of its dependencies.
File name: 'System.Core, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load
file or assembly 'System.Core, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Core, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089'

有没有想法可以解决这个问题?
2个回答

20
当我试图在Ubuntu 14.04 Docker虚拟机上运行一个Mono应用程序(在我的Windows机器上使用Xamarin Studio编译)时,我遇到了相同的问题。我做了和你一样的事情,安装了mono-runtime,经过一两个小时的搜索后,在安装了mono-complete之后,终于使它工作了。不过,它也会带来数百MB的额外内容。最后,我找到了解决问题的软件包:libmono-system-core4.0-cil请点击这里查看)。希望这能帮到您!

这似乎也解决了我的问题 - 谢谢!(大型Windows VS解决方案,但包括一个我想在Linux上运行的cmd行项目)。因此,Mono Runtime并不包含所有运行时库?糟糕! - winwaed

0

Ubuntu 12.04存储库中提供的Mono版本非常陈旧。尝试使用更新的Mono(例如Ubuntu 14.04中的版本)并查看是否有效。


我安装了14.04,但现在在Nancy自托管dll上出现了ctor错误。 - Cris McLaughlin
Nancy的文档提到自托管可以与Mono一起使用,所以我猜可能需要有比我更了解Nancy的人来解决问题 :-) - Alexander Köplinger
我目前正在解决另一个与Nancy相关的问题,但为了帮助这里,我已经解决了与Ctor相关的问题,作为同一问题的一部分。基本上,您不能将nancy模块放在主程序中,否则它会阻止mono运行时看到“Main”,解决方案是将您的NancyModule派生类放在应用程序中的单独类中,并将Program.cs保留为简单的标准命令行存根。 - shawty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接