1


.NET 4.5 MVC4 プロジェクトを Mono 3.2 XSP にデプロイしようとしたところ、例外が発生しました。

ソフトウェア:

  • Ubuntu リナックス 13.04
  • ソースからコンパイルされた Mono 3.2.1
  • ソースからコンパイルされた XSP4 3.0.11
  • 例外テキスト:

    CS1701: Warning as Error: Assuming assembly reference `System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' matches assembly `System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. You may need to supply runtime policy
    

    スタックトレース:

    at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.Web.VirtualPath virtualPath,     System.CodeDom.Compiler.CompilerParameters options) [0x00000] in <filename unknown>:0 
    at System.Web.Compilation.AssemblyBuilder.BuildAssembly (System.CodeDom.Compiler.CompilerParameters options) [0x00000] in <filename unknown>:0 
    at System.Web.Compilation.AppResourcesAssemblyBuilder.BuildDefaultAssembly (System.Collections.Generic.List`1 files, System.CodeDom.CodeCompileUnit unit) [0x00000] in <filename unknown>:0 
    at System.Web.Compilation.AppResourcesAssemblyBuilder.Build (System.CodeDom.CodeCompileUnit unit) [0x00000] in <filename unknown>:0 
    at System.Web.Compilation.AppResourcesCompiler.CompileGlobal () [0x00000] in <filename unknown>:0 
    at System.Web.Compilation.AppResourcesCompiler.Compile () [0x00000] in <filename unknown>:0 
    at System.Web.HttpApplicationFactory.InitType (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 
    

    誰かがそれを解決しましたか?それを取り除く方法は?

    4

    1 に答える 1

    1

    MVC3 プロジェクトを Mono で動作させる唯一の方法は、(Razor を使用している場合) 次のように、Microsoft アセンブリの一部を Mono プロジェクトにコピーすることであることがわかりました。

    • System.Web.Mvc
    • System.Web.Razor
    • System.Web.Helpers
    • System.Web.WebPages.Deployment
    • System.Web.WebPages
    • System.Web.WebPages.Razor

    あなたがMVC4を使用しているので、おそらく同じ線に沿ったものになるでしょう-それは例外が示唆しているように見えるものです(バージョン1を見て、4を期待しています)。これらとは異なる、または追加のアセンブリが必要になる可能性があります。ここを見てください。追加のヘルプが見つかるかもしれません。

    また、.NET 4.5 は、Mono ではまだ完全にはサポートされていません (MVC4 では非同期ではありません)。そこに他の問題が見つかることを期待してください。

    于 2013-10-04T10:11:50.400 に答える