8

Unity プロジェクト内で REST サーバーを構築しようとしていますが、最初は Nancy が当然の選択のように思えました。ただし、後で多くの頭痛の種が発生し、Nancy を Unity Mono ランタイム内で実行するのにまだ問題があります。Xamarin からコンパイルして実行することはできますが、アセットを使用しようとすると、Unity は役に立たない出力を返します。

Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.RootNamespace.ComputeNamespaces (System.Reflection.Assembly assembly, System.Type extensionType) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.RootNamespace.ComputeNamespace (Mono.CSharp.CompilerContext ctx, System.Type extensionType) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.GlobalRootNamespace.ComputeNamespaces (Mono.CSharp.CompilerContext ctx) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.LoadReferences () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 

このようなことを試したのは私だけではなく、いくつかのプロジェクトでこれを使用することを検討しているため、再利用可能なものを用意することが最優先事項です。このようなものをうまく実装した人はいますか?私に何かポインタはありますか?

Nancy を機能させたいと思っていますが、REST サーバーを簡単に埋め込む別の方法も同様に価値があります。

4

2 に答える 2

0

Unity Answers のこのスレッドによると、Unity が使用する .NET サブセットに System.Web が含まれていなかったため、System.Web.dll v2.0.50727 をプロジェクトにコピーすることでこの問題が解決しました。

ただし、メモリが機能する場合は、サブセットではなく完全な .NET 2.0 ランタイムを強制的に使用する Unity のオプションを思い出します。これにより、問題が解決する可能性もあります。Unity を使用するのは久しぶりだったので、オプションが削除された可能性があります。

編集: ここでは「互換性レベル」と呼ばれています。

編集 2:プレイヤー設定にあります

于 2014-05-11T09:22:27.957 に答える