我正在尝试将在 mod_mono 下运行的 ASP .NET 2.0 应用程序升级到 4.0。2.0 应用程序使用针对 2.x 平台构建的 DLL 的 6.3.5 版本,并且运行良好。
以下是迄今为止我尝试过的连接器 DLL 版本:
- 6.3.5 - 2x
- 6.3.5 - 4 倍
- 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 并在没有时从一个跳到另一个工作。