У меня есть проект MVC4, в котором я использую Ninject как DI Framework. Проблема, с которой я столкнулась, заключается в попытке разделить мои привязки DI от моей реализации, поскольку я не хочу, чтобы мой основной веб-проект ссылался на все мои другие проекты.Загрузка unreferted dll MVC Ninject
Я попытался создать отдельный проект под названием привязок, который содержит Ninject модули:
public class WebModuleBindings : NinjectModule
{
public override void Load()
{
Bind<IStaticDataRepository>().To<StaticDataRepository>();
}
}
Я затем загрузить эту DLL динамически в моем веб-проекта:
kernel.Load(bindingDll);
Это прекрасно работает, когда я запускаю он локально, но когда я использую msbuild и развертываю мое приложение, DLL проекта привязок не включается, поскольку в нем нет ссылки.
Каков наилучший способ решить эту проблему?
Почему вы не добавляете его в качестве ссылки на проект, а 'Copy Local' установлен в' true'? В любом случае, это, несомненно, потому, что сборка не развертывается в правильной папке. Этот процесс развертывания должен учитывать это. –
Если я добавлю ссылку на проект привязки, веб-проект косвенно ссылается на каждый проект, что означает, что ни один другой проект не может ссылаться на мой веб-проект из-за циклических ссылок. Это обычное дело? – TJF