Mono 2.4上のMicrosoft MVCでのMicrosoft Data Entity Frameworkの使用

asp.net-mvc entity-framework mono

質問

私はUbiquity WebホスティングサービスでMono 2.4を使用しています。

私はここにリンクされている単純なMVC授業用アプリケーションを作成し、それがすべてのマイクロソフトのツールを使用して機能することを確認しました。

次に、私のUbiquityホスト上で実行されているMySQLサーバーデータベースを指すようにアプリケーションを更新しました。アプリケーションは、Microsoftベースのマシンでうまく機能します。

今、私はUbiquity上のモノラルサーバーにアプリケーションをデプロイしようとしています。

それがCopyLocal = trueになるようにSystem.Web.MVCを設定します。

アプリケーションをモノサーバにデプロイしました。


私はこのエラーが出ます:

説明:この要求を処理するために必要なリソースの解析中にエラーが発生しました。ソースファイルを確認して、このエラーを修正するように修正してください。

パーサーエラーメッセージ:アセンブリSystem.Data.Entity、バージョン= 3.5.0.0、カルチャ=ニュートラル、PublicKeyToken = b77a5c561934e089が見つかりませんバージョン情報:モノラルバージョン:2.0.50727.1433。 ASP.NETバージョン:2.0.50727.1433


私は問題があるかもしれないと思います...

A)Entityフレームワークはmonoではサポートされていません。 Microsoft Data Entity Framework以外のものを使用する必要があります。

B)System.Data.Entityのモノラルバージョンの公開鍵トークンが "b77a5c561934e089"ではありません。

C)他に何か起こっていることがあります。


System.Entity.Data dllにCopyLocal = trueを設定してみました。したがって、MicrosoftバージョンのDLLが私のモノサーバにデプロイされました。これが合法であることに疑問があります。とにかく、それだけで次のエラーが発生しました:

ネイティブコードの実行中にSIGSEGVを受け取りました。これは通常、モノランタイム、またはアプリケーションで使用されているネイティブライブラリのいずれかに致命的なエラーがあることを示しています。


質問

MonoでMicrosoft Entity Frameworkを使用できることを誰かが確認できますか?私はおそらく、上でリンクされたMicrosoft MVCチュートリアルのこのコメントに従って、Microsoft Entity Frameworkから移行するつもりです。

「ASP.NET MVCフレームワークはMicrosoft Entity Frameworkに結び付けられていません。LINQ to SQL、Subsonic、NHibernateなどのさまざまなオブジェクトリレーショナルマッピング(OR / M)ツールを利用して、データベースモデルクラスを作成できます。 "

ただし、一貫性を保つために、可能であれば、Microsoft Entity Frameworkをモノラルで使用したいと思います。

受け入れられた回答

System.Data.EntityアセンブリにもCopyLocal = trueを設定する必要があります。あなたはSystem.Web.MVCをローカルにコピーしたことに気付きましたが、System.Data.Entityをローカルにコピーしたことについては言及しませんでした。 System.Data.Entityが依存するアセンブリのうち、Monoの一部ではないアセンブリをローカルにコピーする必要があるかもしれません。


人気のある回答

私は、 EntityFrameworkMicrosoft Chart Controls 、およびMicrosoft Sync Frameworkが、Linux上のモノラルでは動作しないことを確認できます。Microsoftおよび/またはMS従業員からの主張は異なっています。

これは、Sync FramworkがCOM相互運用機能コンポーネントとpinvokeを使用し、Microsoft Chart ControlsにDirectorySeparatorの問題があり、EntityFramwork名前空間がまだmonoに移植されていないためです。
Microsoftが「モノで動作する」と言っているときは、「 Windowsではモノで動作する」という意味です。

EntityFramworkポートは、アルファ/ベータ段階に達するまで、つまり誰かがそれを行うことにした場合、少なくとも1年かかると推定されています。

しかし、EntityFrameworkを移植する公式の計画はありません。

EntityFramworkは、限り、あなたはtrueに設定localcopyとして、モノのWindowsのバージョン/ sに働くかもしれません

代わりにnhibernateを使用することをお勧めします。

更新:

Mono 2.11.3以降、マイクロソフトはEntityFrameworkをオープンソース化しました。
したがって、現在はMonoの配布物の一部になっています。
このバージョンでは349のコミットがあり、約514のファイル変更があります。
それは15553の挿入と3717の欠失を含みます。

2つダウン、1つは行きます。
私はこれが意味すると思います:

MICROSOFT、本当にありがとうございました! ! !



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ