質問

LinuxでASP.NETプロジェクトを機能させることに取り組んでいます。 WindowsでXSPを使用してコードをテストしていますが、今ではLinuxでも開発してテストできることを確認しようとしています。そのために、私はubuntuを実行し、モデル開発とmysqlを実行しています。最新のMySQLコネクタ/ネットをダウンロードしましたが、正しくインストールしていると思います。

配布用にMySQLコネクタ/ネットを自動的にインストールするパッケージはないため、MySQL Webサイトから6.2.3 ZIPファイルをダウンロードしました。 ZIPファイルには小文字のファイル名が含まれており、Monoが大文字で期待しているため、ケース感度に関する問題をすでに発見しました。そのため、ファイルの名前をそれぞれmysql.data.dllとmysql.web.dllに変更しました。また、GaCutilを使用して両方のファイルをGACにインストールしました。同様に、ファイルをMono LIBディレクトリに追加しました。次のファイルは私のマシンに存在します:

/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

また、パッケージファイルを作成したため、モデル開発のアセンブリへの参照を追加できます。フォルダー/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内のプロジェクトでアセンブリを使用できます。プロジェクトの参照を編集するとき、アセンブリは利用可能なアセンブリのリストに表示されます。プロジェクトは、モデル開発内のエラーなしでコンパイルされました。ただし、XSPでコンパイルされたWebプロジェクトを実行すると、次のエラーがブラウザに表示されます。

System.io.FileNotFoundException:ファイルまたはアセンブリ 'mysql.web.dll、version = 6.2.3.0、culture = neutral、publickeytoken = c5687fc88969c44d'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。

誤解されているのは、もともとエラーがMySQLをロードできなかったことでした。データ.dllとこれで、エラーメッセージはmysqlをロードできないということです。ウェブ.dll。つまり、データDLLで抱えていた問題を何らかの形で修正し、Web DLLに問題があります。私は行って、データDLLの問題を修正することを学びましたが、Web DLLを機能させることはできません。

残念ながら、私はまだLinuxとMonoをかなり新しい(ただし、ASP.NETではありません)。同様に、私はGoogleで上記の説明をしていること以外に試すために何も見つけていません。

XSPがアセンブリを見つけることができない理由と、私がそれについて何ができるのかを知るのを手伝ってもらえますか?

ありがとう、 - 意志

役に立ちましたか?

解決

すべてのモノがアセンブリを探している場所を示す環境変数をいくつか設定することができます。

mono_log_level = "debug" mono_log_mask = "dll" xsp2

他のヒント

完璧な修正ではありません(なぜそれが間違っているのかわかりません)が、急いでいる場合は、mysql.web.dllをアプリのビンディレクトリにコピーしてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top