2

MVC4 アプリを領域に分割しましたが、個別のプロジェクトを使用しています 各モジュール プロジェクト (領域) には、コントローラーを登録するためのモジュールがあります

protected override void Load(ContainerBuilder builder)
        {
            var assembly = Assembly.GetExecutingAssembly();

            builder.RegisterControllers(assembly);
            builder.RegisterModelBinders(assembly);
            builder.RegisterModelBinderProvider();
            builder.RegisterFilterProvider();
        }

私はコントローラーを持っています

public class SomeController : Controller {
        public SomeController (IDependency dependency){}
 }

そして、メインプロジェクトグローバルにはこれがあります:

 builder.RegisterAssemblyModules();

次に、これを実行すると、次のエラーが発生します。

No parameterless constructor provided. 

登録は行われなかったようです。メイン プロジェクトで参照されていないエリア プロジェクト

どうすれば登録できますか?

4

1 に答える 1

2

ほとんどの場合 (質問で提供されている小さなコード スニペット以外に、プロジェクトがどのようにセットアップされ、初期化されているかを確認せずに)、これは ASP.NET が解決する型を適切に見つけることができないという問題です。

プラグイン アセンブリが BuildManager に登録されていることを確認してください。

このブログ記事は、必要な場所に到達するのに役立ちます。

于 2013-01-21T15:55:13.100 に答える