2

我正在尝试在 ubuntu 中使用 mono 运行我的自托管 servicestack 控制台应用程序。

我只是在尝试在我的 ubuntu 服务器上运行单声道时遇到这个问题。该应用程序在 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程序集,所以我认为我将应用程序设置为 self 的方式没有问题托管。

以前有没有人遇到过这个问题或这类问题?你能帮我理解这个问题,也许在哪里寻找解决方案。

谢谢

4

1 回答 1

3

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

于 2013-06-02T19:26:59.233 回答