最近、2.5.2プロジェクトを3.2.1 / MVC 4に更新し、いくつかのコード修正の後、アプリケーションを再コンパイルしました。実行時にレジスタコントローラーの問題を取得しています。コードは次のとおりです。
public static void Register(string key, Type interfaceType, Type implementationType)
{
//IoC.Container.AddComponent(key, interfaceType, implementationType);
// IoC.Container.AddComponent is obsolete. Replaced by:
IoC.Container.Register(Component.For(interfaceType).ImplementedBy(implementationType).Named(key));
}
public static void RegisterControllers(params Assembly[] assemblies)
{
//IoC.Container.RegisterControllers(assemblies);
foreach (Assembly assembly in assemblies)
{
IoC.Container.RegisterControllers(assembly.GetExportedTypes());
}
}
public static void RegisterAllFromAssemblies(string baseAssembly, string relatedAssembly)
{
// AllTypes is obsolete
//
//IoC.Container.Register(AllTypes.
// FromAssemblyNamed(baseAssembly).
// WithService.
// FirstNonGenericCoreInterface(relatedAssembly));
//Update for Castle-Windor 3.2
IoC.Container.Register(Classes.FromAssemblyNamed(baseAssembly)
.Pick().WithServiceFirstInterface()
.LifestylePerWebRequest());
}
}
}
の実行後に MissingMethod Exception 画面が表示されます。 IoC.Container.RegisterControllers(assembly.GetExportedTypes());
"Method not found: 'Castle.Windsor.IWindsorContainer Castle.Windsor.IWindsorContainer.AddComponentLifeStyle(System.String, System.Type, Castle.Core.LifestyleType)'."
私を正しい方向に向けてくれると助かります