Я работаю над проектом и решил использовать StructureMap в качестве IoC, но всякий раз, когда мы пытаемся загрузить проект (кстати, MVC 3), мы получаем эту ошибку:
Couldне загружать файл или сборку 'StructureMap, версия = 2.5.3.0, культура = нейтральная, PublicKeyToken = e60ad81abae3c223' или одна из ее зависимостей.Системе не удается найти указанный файл.
В Global.asax у меня есть этот код для инициализации StructureMap
ObjectFactory.Initialize(
x =>
{
x.ForRequestedType<IUnitOfWorkFactory>()
.TheDefaultIsConcreteType<EFUnitOfWorkFactory>()
.CacheBy(InstanceScope.HttpContext);
x.ForRequestedType(typeof(IRepository<>))
.CacheBy(InstanceScope.HttpContext)
.TheDefaultIsConcreteType(typeof(GenericRepository<>));
});
и иметь StructureMap в папке lib, которую я добавил в основной MVCприложение.Даже при удалении всех ссылок, которые я могу найти, я все равно получаю эту ошибку.
Для записи это папка lib в структуре MVC3
И я добавляю ссылку на StructureMap.dll (которая, как ни странно, является версией 2.6.1, но ошибка говорит о версии 2.5.3.0
). Забыл упомянуть, что у меня есть фабрика контроллеров для StructueMap.Вот код для фабрики контроллеров:
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
try
{
return (controllerType == null) ? null : ObjectFactory.GetInstance(controllerType) as Controller;
}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
}
}
А вот как я использую его в Global.asax.cs
ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
РЕДАКТИРОВАТЬ: Я установил StructureMapс NuGet и по-прежнему получают ту же ошибку, хотя NuGet установил другую версию (2.6 вместо 2.5), но все равно получает ошибку 2.5. Поэтому я собираюсь предложить вознаграждение любому, кто может помочь мне решить эту проблему
РЕДАКТИРОВАНИЕ 2 Я удалил, а затем переустановил Visual Studio и Entity Framework, когда я пытаюсь добавить POCO, я получаю эту ошибку
Кто-нибудь знает, как решить эту проблему?
РЕДАКТИРОВАТЬ 3: Я удалил CTP, используя технику, расположенную здесь , я удалил CTP и версию 4.1, затем следовал указанным инструкциям и предоставленной ссылке, а когда я следовал инструкциям, я получаю это сообщение об ошибке .Это достигло критической массы, и мой работодатель очень расстраивается из-за меня, потому что я не могу решить сообщение об ошибке выше.Кто-нибудь получил какие-нибудь ответы для меня?
РЕДАКТИРОВАТЬ 4: Работает локально с IIS 7.5 Express, теперь нужно, чтобы он работал на живом сервере.Забавно то, что я использую StructureMap 2.6.2, но ошибка (по какой-то причине) ищет 2.5.3.Я искал и искал, пытаясь найти ссылку на StructureMap 2.5.3.
РЕДАКТИРОВАТЬ 5: Работает идеально локально, но та же ошибка на живом сайте.Я работаю удаленно, и мы используем SVN для контроля исходного кода, а другой разработчик работает удаленно, но мой код никогда не поступает в производство, и, конечно, у меня нет доступа к живому сайту