Не удается развернуть проект MVC 3 с Entity Framework 4.3.1 и Oracle ODAC

В настоящее время я пытаюсь развернуть приложение MVC 3, над которым я работаю, на нашем тестовом веб-сервере, и столкнулся с серьезной проблемой правильной загрузки всего. Чтобы попытаться дать как можно больше информации об этом, я делаю развертывание бина (я отправил все ссылки для локального копирования) и выполняю базовую публикацию в веб-проекте через файловую систему в каталог приложения на сервер. Компоненты, которые я использую:

Entity Framework 4.3.1 Oracle ODAC 11.2.0 (версия 4.112.3.0)

Это приложение имеет 2 объекта Entity Framework, один из которых направляется в базу данных SQL Server, а другой - в базу данных Oracle 10g. Я полагаю, что проблема заключается в объекте Entity Framework, идущем в базу данных Oracle. Это мой первый проект MVC 3 и мое первое развертывание (здесь много «новых» переменных), поэтому я не уверен, что я что-то упустил или нет. Как я могу исправить эту проблему? На моем локальном компьютере все работает отлично, только когда я развертываю проект на сервере, у меня возникают проблемы.

Вещи, которые я пробовал до сих пор:

Все мои контроллеры наследуются от базового контроллера (BaseController), где живут экземпляры объектов инфраструктуры сущностей. Я не могу добраться до представления Index любого контроллера, который наследуется от BaseController, но HomeController наследует от Controller. Эта страница работает правильно. Я пытался унаследовать от Controller в других, и это позволяет мне перейти к представлению Index, но возврат к BaseController снова вызывает ошибки в трассировке стека. Похоже, ошибка произошла в строке, где я объявляю свой объектный объектный объект, идущий в базу данных оракула:

protected internal RadixWebDataPRDX dbRadixData = new RadixWebDataPRDX();

Я копирую Oracle.DataAccess.dll, и это все еще вызывает проблему.

Моя трассировка стека для этой ошибки ниже, спасибо:

Ошибка сервера в «/ RadixMVC» Заявка.

Не удалось найти запрошенный поставщик данных .Net Framework. Возможно, он не установлен.

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.ArgumentException: невозможно найти запрошенный поставщик данных .Net Framework. Возможно, он не установлен.

Ошибка источника:

Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местонахождении исключения может быть идентифицирована с помощью приведенной ниже трассировки стека исключений.

Трассировки стека:

[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
   System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1420503
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +34

[ArgumentException: The specified store provider cannot be found in the configuration, or is not valid.]
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +63
   System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +483
   System.Data.EntityClient.EntityConnection..ctor(String connectionString) +77
   System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString) +40
   System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) +17
   RadixMVC.Models.Data.RadixWebDataPRDX..ctor() in C:\Users\862599\Documents\Visual Studio 2010\Projects\RadixMVC\RadixMVC\RadixMVC.Models.Data\RadixDataPRDX.Designer.cs:34
   RadixMVC.Controllers.BaseController..ctor() in C:\Users\862599\Documents\Visual Studio 2010\Projects\RadixMVC\RadixMVC\RadixMVC\Controllers\BaseController.cs:17
   RadixMVC.Controllers.AccountsPayableController..ctor() +29

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +98
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +241
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +69
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +67

[InvalidOperationException: An error occurred when trying to create a controller of type 'RadixMVC.Controllers.AccountsPayableController'. Make sure that the controller has a parameterless public constructor.]
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +181
   System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) +77
   System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +66
   System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +209
   System.Web.Mvc.<>c__DisplayClass6.<BeginProcessRequest>b__2() +50
   System.Web.Mvc.<>c__DisplayClassb`1.<ProcessInApplicationTrust>b__a() +13
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +23
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Func`1 func) +124
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +98
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +48
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8970356
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; ASP.NET версия: 4.0.30319.272

Ответы на вопрос(1)

Ваш ответ на вопрос