1

OS X で Xamarin Studio を使用して開発した ASP.NET MVC 4 アプリケーションがあります。mod_mono および apache と共に mono 3.2.8 がインストールされた Ubuntu Server (最新バージョン) を実行している Docker コンテナーにデプロイしています。

.NET 4.0 Web サイトであるため、mono-server-4 で実行するように Web サイトを正常に構成しました。ただし、次のエラーが発生します。

[System.TypeLoadException]: Could not load type 'System.Web.Routing.RouteCollection' from assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
      at (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_method_info (intptr,System.Reflection.MonoMethodInfo&)
      at System.Reflection.MonoMethodInfo.GetMethodInfo (IntPtr handle) [0x00000] in <filename unknown>:0
      at System.Reflection.MonoMethodInfo.GetDeclaringType (IntPtr handle) [0x00000] in <filename unknown>:0
      at System.Reflection.MonoMethod.get_DeclaringType () [0x00000] in <filename unknown>:0
      at System.Web.HttpApplicationFactory.GetApplicationTypeEvents (System.Type type) [0x00000] in <filename unknown>:0
      at System.Web.HttpApplicationFactory.GetApplicationTypeEvents (System.Web.HttpApplication app) [0x00000] in <filename unknown>:0
      at System.Web.HttpApplicationFactory.FireEvent (System.String method_name, System.Object target, System.Object[] args) [0x00000] in <filename unknown>:0
      at System.Web.HttpApplicationFactory.FireOnAppStart (System.Web.HttpContext context) [0x00000] in <filename unknown>:0
      at System.Web.HttpApplicationFactory.GetApplication (System.Web.HttpContext context) [0x00000] in <filename unknown>:0
      at System.Web.HttpRuntime.Process (System.Web.HttpWorkerRequest req) [0x00000] in <filename unknown>:0

モノコンプリートがターゲット サーバーにインストールされており、アプリケーションがローカルで正しく実行されているため、このエラーが発生する理由がわかりません。どんな助けでも大歓迎です!

編集: いくつかの要求 (4 または 5) の後、同じ URL から 404 を取得しているようです。これが関係しているかどうかはわかりません...

4

2 に答える 2

0

XSP2 を使用してモノラルで MVC アプリケーションを実行しようとして、この同じ問題に遭遇しました。私にとっての解決策は、mono-xsp4 をインストールし、代わりに xsp4 を使用して実行することでした。

于 2016-03-25T16:56:42.957 に答える
0

私は最終的に問題を解決しました。Apache 構成ファイルで MonoServerPath ディレクティブを設定するときに、誤ってアプリケーションの名前のスペルを間違えたようです。

于 2014-12-04T19:06:24.643 に答える