Ninject を DI フレームワークとして使用している MVC4 プロジェクトがあります。私が抱えている問題は、メインの Web プロジェクトが他のすべてのプロジェクトを参照することを望まないため、実装から DI バインディングを分割しようとしていることです。
ninject モジュールを含む Bindings という別のプロジェクトを作成しようとしました。
public class WebModuleBindings : NinjectModule
{
public override void Load()
{
Bind<IStaticDataRepository>().To<StaticDataRepository>();
}
}
次に、この DLL を Web プロジェクトに動的にロードします。
kernel.Load(bindingDll);
これは、ローカルで実行すると正常に動作しますが、msbuild を使用してアプリケーションをデプロイすると、バインディング プロジェクト dll はどこにも参照されないため含まれません。
この問題を解決する最善の方法は何ですか?