5

.NET 4 および .NET 4.5 で MVC4 サイトを実行するために、Mono 3.0 セットアップを取得しようとしています。さまざまなエラーに対処してきましたが、起動して実行するにはどうすればよいですか?

サーバー構成

  • CentOS5
  • アパッチ 2.2.3
  • 3.2.0 (tarball 2013 年 7 月 28 日 00:57:40 UTC); ASP.NET バージョン: 4.0.30319.17020 2013)
  • この記事の時点での git の最新の XSP

アパッチ/モノ構成

MonoServerPath "/usr/local/bin/mod-mono-server4"

/usr/local/bin/mod-mono-server4 内容:

#!/bin/sh
exec /usr/local/bin/mono $MONO_OPTIONS "/usr/local/lib/mono/4.5/mod-mono-server4.exe" "$@"

アップデート

問題の核心は、サイトが必要とする MVC4 が Mono に同梱されていないことです。MVC3 dll はまだありますが、Razor 2 dll はありますが、MVC3 が訴えたい Razor 1 dll はありません。

4

2 に答える 2

5

必要なものはすべて、Mono フレームワーク内または NuGet で利用できるようになりました。.Net 4.0 および .Net 4.5 用の MVC4 用のダウンロード可能なテンプレートと、問題の解決に関するいくつかのメモを作成しました。

http://www.cafe-encounter.net/p1510/asp-net-mvc4-net-framework-version-4-5-c-razor-template-for-mono-on-mac-and-linux

ブログ投稿の手順は次のとおりです。

  • git clone github.com/chrisfcarroll/AspNetTemplatesForMono/Mvc4CSharpRazorFx45Intranet NB この github リポジトリには、NuGet が機能していない場合に備えて必要なすべての dll が含まれているため、ダウンロードのサイズが大きすぎます。
  • Xamarin Studio でソリューションを開きます。ほとんどそのままで動作します。あなたがしなければならないことの1つは、それを機能させるために次の2つのステップのいずれかを選択することです:

bin\ ディレクトリとプロジェクトから Microsoft.Web.Infrastructure.dll を削除します。

または、コマンドラインから:

sudo mkdir /Library/Frameworks/Mono.framework/Versions/3.2.5/etc/mono/registry
sudo chmod g+rwx /Library/Frameworks/Mono.framework/Versions/3.2.5/etc/mono/registry

(3.2.5 を mono バージョンに置き換えます。これは、コマンド ラインで mono --version を使用して取得します)。

Windows 上の .Net では Microsoft.Web.Infrastructure.dll が必要であるため、クロスプラットフォーム展開が必要な場合、これを削除するのは簡単な方法ではありません。

于 2014-01-13T23:24:31.433 に答える