Servicestack self host应用系统.在ubuntu中使用mono时出现typeeloadeexcept



我试图在ubuntu中使用mono运行我的selfhosting servicestack控制台应用程序。

我只是在尝试在我的ubuntu服务器上运行mono时才遇到这个问题。该应用程序在windows环境中运行良好。

当我尝试用mono appname.exe启动我的应用程序时,我得到以下错误:

System.TypeLoadException: Could not load type 'Api.Database.MySqlConnection' from assembly 'Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
at (wrapper managed-to-native) System.Type:type_is_assignable_from   (System.Type,System.Type)
at System.Type.IsAssignableFrom (System.Type c) [0x00000] in <filename unknown>:0
at ServiceStack.ServiceHost.ServiceController.RegisterNService (ITypeFactory     serviceFactoryFn, System.Type serviceType) [0x00000] in <filename unknown>:0
at ServiceStack.ServiceHost.ServiceController.Register (ITypeFactory serviceFactoryFn)  [0x00000] in <filename unknown>:0
at ServiceStack.ServiceHost.ServiceManager.Init () [0x00000] in <filename unknown>:0
at ServiceStack.WebHost.Endpoints.Support.HttpListenerBase.Init () [0x00000] in <filename unknown>:0
at UniBooks_Api_Runner.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

在这个盒子上使用其他应用程序时,Mono对我来说工作得很好,所以我不太相信这是单声道问题——也许是单声道与一些服务堆栈的冲突?

错误在顶部引用的特定类使用以下程序集:

using System;
using System.Data;
using MySql.Data.MySqlClient;

这个类也实现了System.Data.IDbConnection,我也使用。net framework 4.5

我想指出的是,我已经通过阅读这个答案和遵循本教程适应了linux/ubuntu的控制台应用程序,我引用了Mono.Unix汇编,所以我认为我将应用程序设置为自托管的方式没有问题。

以前有人遇到过这个问题或这种类型的问题吗?你能帮我了解一下这个问题吗?也许在哪里可以找到解决方案呢?

谢谢

尝试设置MONO_LOG_LEVEL和可选的MONO_LOG_MASK,如:MONO_LOG_LEVEL=debug MONO_LOG_MASK=asm mono --debug appname.exe查看输出是否有助于解决问题。

最新更新