目標:Xamarain Studioを介してMonoでASP.NET MVC 5プロジェクトを起動します。
サーバーの起動後のエラー:Could not load file or Assembly 'System.Web.Entity' or one of its dependencies.
Xamarin Studioのエラー:
背景:プロジェクトは、既定のWebプロジェクトとしてVisual Studio 2013で作成されました。構成のほとんどはすぐに使用できます。コードは GitHubでご覧ください です。執筆時点で最新かつ最高のMonoおよびXamarin Studioを持っています。 .NET Entity Frameworkは解決された依存関係であり、Xamarin Studioで指摘されているビルドの問題はありません。
このプロジェクトを立ち上げて実行するにはどうすればよいですか?この依存関係を解決するにはどうすればよいですか?
私はこれが古いスレッドであることを知っていますが、VS for WindowsからVS for MacにMVCプロジェクトを移植し始めたときに、これに出くわしました。 System.Web.Entityへの参照を削除し、NuGetパッケージSystem.Web.Http.Commonを追加することが、より良い解決策であることがわかりました。それが役に立てば幸い。
Windowsボックスから_System.Web.Entity.dll
_ファイルを取得することで、この問題を回避できました。私はC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\
で見つけました。
それをMac上のプロジェクトのbin
フォルダーにコピーし、HintPath
を含むように参照を更新したら...
_<Reference Include="System.Web.Entity" >
<HintPath>..\bin\System.Web.Entity.dll</HintPath>
</Reference>
_
プロジェクトはXamarin Studioでビルドされます。参照の横に赤いXが表示されたままです(はい、ローカルコピーであると指定してHintPath
を追加した場合でも)、少なくとも検出できました。
_System.Drawing.BitmapSuffixInSameAssemblyAttribute
_をロードできないという別のエラーが発生しましたが、ちょっとした進歩です!
古いEntityFrameworkをNuGetの新しいEntityFrameworkに置き換えるだけで、より良く/簡単になりませんか。他の参照に関する問題のほとんどを解決できると思います。
EntityFramework.dllはビンにコピーされていますか? Visual Studioでは、以下を行うことができます