1

mod_monoで実行されているASP.NET2.0アプリを4.0まで持ち込もうとしています。2.0アプリは、2.xプラットフォームに対してビルドされたDLLの6.3.5バージョンを使用しており、正常に動作します。

これまでに試したコネクタ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をダウンロードして、そうでないときに一方から他方にジャンプするのに行き詰まらないようにしています。仕事。

4

1 に答える 1

0

私はこれを理解していませんでしたが、Monoの新しいバージョンにアップグレードし、問題が解決したことを示す別の投稿を目にしました。

にアップグレードしましたが2.10.9、問題は修正されたようで、MVC2バージョンのサイトは問題なく実行されているようです。

4.0コネクタのv6.5.4が見つからないという問題があったので、6.3.5に戻しましたが、これで問題は解決しました。私はSubSonicを実行しているので、SubSonicがリンクされている可能性があり、それが6.3.56.5.4が見つからない理由です。

于 2012-10-12T14:41:32.920 に答える