什么版本的MySQL Connector可以与Mono 2.10.1一起使用

时间:2012-10-12 01:38:25

标签: mysql asp.net-mvc-3 asp.net-mvc-2 mono mysql-connector

我正在尝试在mod_mono下运行最多4.0的ASP .NET 2.0应用程序。 2.0应用程序正在使用针对2.x平台构建的6.3.5版本的DLL,它工作正常。

以下是我到目前为止尝试过的连接器DLL的版本:

  • 6.3.5 - 2x
  • 6.3.5 - 4x
  • 6.5.4 - 4x

我正在添加mono / 4.0 / machine.config,如下所示:

<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"
         type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>

对于所有不同版本,PublicKeyToken似乎都是相同的。

当我运行应用程序时,我明白了:

Unhandled Exception: System.IO.FileLoadException: The assembly name is invalid.
  at System.Reflection.AssemblyName..ctor (System.String assemblyName) [0x00045] in /root/mono-2.10.1/mcs/class/corlib/System.Reflection/AssemblyName.cs:93 
  at Mono.CSharp.ImportedAssemblyDefinition.ReadAttributes () [0x000c5] in /root/mono-2.10.1/mcs/mcs/import.cs:1522 
  at Mono.CSharp.MetadataImporter.GetAssemblyDefinition (System.Reflection.Assembly assembly) [0x00028] in /root/mono-2.10.1/mcs/mcs/import.cs:821 
  at Mono.CSharp.ReflectionImporter.ImportAssembly (System.Reflection.Assembly assembly, Mono.CSharp.RootNamespace targetNamespace) [0x00000] in /root/mono-2.10.1/mcs/mcs/reflection.cs:88 
  at Mono.CSharp.DynamicLoader.LoadReferences (Mono.CSharp.ModuleContainer module) [0x0003e] in /root/mono-2.10.1/mcs/mcs/reflection.cs:587 
  at Mono.CSharp.Driver.Compile () [0x00159] in /root/mono-2.10.1/mcs/mcs/driver.cs:1535 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x0003d] in /root/mono-2.10.1/mcs/mcs/driver.cs:243 

我已经阅读了一些帖子说这个版本有效或版本有效,我想知道是否有人确定无疑是因为我不会因为它下载一大堆dll并从一个跳到另一个而陷入困境不起作用。

1 个答案:

答案 0 :(得分:0)

我没有想到这一点,但我确实看到另一篇文章表明他们已升级到Mono的更高版本并解决了这个问题。

我已升级到2.10.9,问题似乎已修复,网站的MVC2版本似乎正在运行w / out问题。

我确实遇到单声道没有找到4.0连接器的v6.5.4的问题所以我已经恢复到6.3.5并且已经解决了这个问题。我正在运行SubSonic,因此可能是SubSonic与6.3.5相关联,这就是为什么没有找到6.5.4。