2

プロジェクトから自動的に接続する MvcTurbine を使用していIViewEnginesます。最近 MvcMiniProfiler を追加し、動作させようとしています。唯一の問題は、MvcMiniProfiler に IViewEngine のコンストラクター引数を必要とする ProfilingViewEngine があるため、Structuremap に双方向の依存関係が作成されることです。 . 以下はエラーです

StructureMap 例外コード: 295
RequestedType で検出された双方向の依存関係の問題:
System.Web.Mvc.IViewEngine、名前: a8cb1f76-6ff5-4702-9e7a-3200703dd519、ConcreteType: MvcMiniProfiler.MVCHelpers.ProfilingViewEngine。  
BuildStack は次のとおりです。
1.) RequestedType: System.Web.Mvc.IViewEngine、名前: a8cb1f76-6ff5-4702-9e7a-3200703dd519、ConcreteType: MvcMiniProfiler.MVCHelpers.ProfilingViewEngine

IViewEngines を MvcTurbine に無視または手動で登録するにはどうすればよいですか?

4

1 に答える 1

0

IViewEngine登録プロセスをオーバーライドし、単一のIViewEngine実装を明示的に設定することで、これを機能させることができました。

global.asaxに、次を追加しました。

Engine.Initialize.DisableViewEngineRegistration(); ViewEngines.Engines.Add(new RazorViewEngine()); MiniProfilerEF.Initialize();

これにより、MvcTurbineはレイザービューエンジンを使用するようになりました。これは、MvcMiniProfilerがエラーなしでオーバーライドできます。

これが久しぶりに役立つことを願っています。あなたのためではない場合は、この問題に関する唯一のリソースとしてあなたの質問を見つけた私のような他の人のためかもしれません。

于 2012-03-26T14:10:04.660 に答える