2012-07-09 15 views
7

との問題、私はちょうど私のWebアプリケーションにELMAH MVC(V2)をインストールしましたが、私がログを表示しようとすると/ ELMAH、私は次の例外ELMAH MVC 2 - 城ウィンザー

支援なしコンポーネントを取得 Castle.MicroKernel.DefaultKernel.Resolve(型サービス)140 Castle.Windsor.WindsorContainer.Resolve:Elmah.Mvc.ElmahControllerが [サービスElmah.Mvc.ElmahControllerを支持する無成分が見つからなかったComponentNotFoundException]見出されたサービス(型サービス)40 N2.Engine.Castle.WindsorServiceContainer.Resolve(タイプtype)40 N2.Engine.ContentEngine.Resolve(タイプSER viceType)48

ウェブサイトは、今度は城ウィンザーを使用してN2 CMSシステムを含みます。

私はこれをどのように解決することができますか?

答えて

0

質問を投稿した直後に解決策を作成しました。私はN2でELMAHコントローラを登録するために必要な:

var engine = MvcEngine.Create(); 
engine.RegisterControllers(typeof(GlobalApplication).Assembly); 
engine.RegisterControllers(typeof(ElmahController).Assembly); 
0

ELMAH.MVCはElmahControllerルートを登録するWeb.Activatorを使用App_Startコードを、来ます。

WindorがElmahControllerの読み込みに失敗する理由だから、それは、私にとっては奇妙です。デフォルトでは、それ自体で解決しようとするべきですし、可能でない場合はControllerFactoryに委譲してください。

はよろしいです、アプリケーションを再起動してしまった(のIisreset.exe)ELMAHをインストールした後?私はこれを知っている

+0

こんにちはアレクサンダーは、私はちょうど私がIISを再起動したことを確認するために再テスト(この場合にはIIS Expressをそのdevのマシン上の)Iと間違いなくELMAHログを表示できるようにN2エンジンでELMAHコントローラを登録する必要があります – FloatLeft

+0

@alexanderbちょっとアレックス、私はElmah.MVC(この味で初めて)にすぎウィンザーを使用していると私はmysite.com/elmahに行くとき、私はメッセージ「Elmah.Mvc.ElmahControllerだったサービスをサポートするためのないコンポーネントを取得見つかりました "。何かヒント?また、私はElmah.MVCに関する貴重な文書をあなたのブログの中に入れて見つけられませんでした。 –

+0

@ダンビーハンダン、不幸にも「空気」から問題を診断するのは難しいです:)。私はあなたに頼むようにお願いしたい - あなたは[github](https:// github。 com/alexanderbeletsky/elmah.mvc)、私のプロフィールの私の電子メールアドレスに "壊れた"解決策を送りました。私は問題を見つけて解決策を取り戻すことを約束します:) –

15

はすでに受け入れ答えを持っており、それがあなたの質問に全く関連性がないですが、N2を使用してElmah.MVC +城ウィンザーの問題に実行している他の誰ないのために、あなたがコントローラを登録する必要がありますウィンザーとのアセンブリElmah.MVC。私はこの城はElmahControllerだけで罰金を見つけることができるようです追加したら

public class ElamhInstaller : IWindsorInstaller 
{ 
    public void Install(IWindsorContainer container, IConfigurationStore store) 
    { 
     container.Register(Classes.FromAssemblyNamed("Elmah.Mvc") 
      .BasedOn<IController>() 
      .LifestyleTransient()); 
    } 
} 

:私は私のためにこれを処理するための簡単なインストーラを作りました。

+0

Team Cityで統合テストを行うために変更しなければならなかったのは、この "Classes.FromAssembly(typeof(ElmahController).Assembly)"に対して "Classes.FromAssemblyNamed(" Elmah.Mvc ")でした。最適化のいくつかの種類は、DLLを削除し、私は "ファイルまたはアセンブリ 'Elmah.Mvc'をロードできませんでした" –

関連する問題