我正在尝试在 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 的方式没有问题托管。
以前有没有人遇到过这个问题或这类问题?你能帮我理解这个问题,也许在哪里寻找解决方案。
谢谢