私は自分のASP.NetプロジェクトをLinuxで動作させることに取り組んでいます。WindowsでXSPを使用してコードをテストしてきましたが、Linuxでも開発およびテストできることを確認しようとしています。そのために、Ubuntuを実行し、MonoDevelopとMySQLを実行しています。最新のMySQLConnector/ Netをダウンロードしましたが、正しくインストールされていると思います。
配布用にMySQLConnector/ Netを自動的にインストールするパッケージがないため、MySQLWebサイトから6.2.3zipファイルをダウンロードしました。zipファイルには小文字のファイル名が含まれており、Monoは大文字を想定しているため、大文字と小文字の区別の問題をすでに発見しています。そのため、ファイルの名前をそれぞれMySql.Data.dllとMySql.Web.dllに変更しました。また、gacutilを使用して両方のファイルをGACにインストールしました。同様に、MonoLibディレクトリにファイルを追加しました。次のファイルが私のマシンに存在します:
/usr/lib/mono/gac/MySql.Data/6.2.3.0__c5687fc88969c44d/MySql.Data.dll
/usr/lib/mono/gac/MySql.Web/6.2.3.0__c5687fc88969c44d/MySql.Web.dll
/usr/lib/mono/2.0/MySql.Data.dll
/usr/lib/mono/2.0/MySql.Web.dll
また、MonoDevelopのアセンブリへの参照を追加できるように、パッケージファイルも作成しました。/usr/lib/mono/2.0フォルダーには、追加した2つの.pcファイルが含まれています。
MySql.Web.pc:
Name: MySql.Web
Description: ASP Membership, Role and Profile providers powered by MySQL
Version: 6.2.3
Libs: -r:/usr/lib/mono/gac/MySql.Web/6.2.3.0__c5687fc88969c44d/MySql.Web.dll
MySql.Data.pc:
Name: MySql.Data
Description: Provides connectivity to MySQL databases
Version: 6.2.3
Libs: -r:/usr/lib/mono/gac/MySql.Data/6.2.3.0__c5687fc88969c44d/MySql.Data.dll
この時点で、MonoDevelop内のプロジェクトでアセンブリを使用できます。プロジェクト参照を編集すると、使用可能なアセンブリのリストにアセンブリが表示されます。プロジェクトは、MonoDevelop内でエラーなしでコンパイルされるようになりました。ただし、コンパイルされたWebプロジェクトをXSPで実行すると、ブラウザーに次のエラーが表示されます。
System.IO.FileNotFoundException:ファイルまたはアセンブリ'MySql.Web.dll、Version = 6.2.3.0、Culture = neutral、PublicKeyToken=C5687FC88969C44D'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
何が問題なのかというと、もともとエラーはMySqlをロードできなかったということです。データ.dllと今エラーメッセージはそれがMySqlをロードできないことです。Web.dll。つまり、Data dllで発生していた問題をなんとか修正し、Webdllで問題が発生しました。データdllの問題を修正する方法を学びましたが、Webdllを機能させることができません。
残念ながら、私はまだLinuxとMonoにかなり慣れていません(ASP.Netには慣れていません)。また、試すことが不足しています。同様に、私はGoogleで、上記の説明以外に試すべきものを見つけられなかったため、助けを求めています。
XSPがアセンブリを見つけられない理由と、それに対して何ができるかを誰かが教えてくれますか?
ありがとう、-ウィル