Подтвердить что ты не робот

Не удалось найти запрашиваемый поставщик данных .Net Framework. Он не может быть установлен. - при следующем руководстве mvc3 asp.net

Я следую учебнику по приложению в магазине ASP.NET MVC 3, но я продолжаю застревать в части 4: http://www.asp.net/mvc/tutorials/mvc-music-store-part-4. Он продолжает говорить мне, что у меня нет установленного поставщика данных SQL:

Точная ошибка:

System.ArgumentException was unhandled by user code
  Message=Unable to find the requested .Net Framework Data Provider.  It may not be installed.
  Source=System.Data
  StackTrace:
       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
       at System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(String name)
       at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
       at System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel()
       at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
       at System.Data.Entity.Internal.InternalContext.Initialize()
       at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
       at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
       at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
       at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
       at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at MusicApplication.Controllers.StoreController.Index() in C:\Users\Michelle\documents\visual studio 2010\Projects\MusicApplication\MusicApplication\Controllers\StoreController.cs:line 18
       at lambda_method(Closure , ControllerBase , Object[] )
       at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
       at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
  InnerException: 

Я добавил ссылку на System.Data.SqlServerCe - по-прежнему имеет ту же ошибку. Любое руководство будет действительно оценено

4b9b3361

Ответ 1

Мне удалось решить проблему, подобную этой, в Visual Studio 2010 с помощью NuGet.

Откройте "Инструменты" > "Диспетчер пакетов библиотеки" > "Управление пакетами NuGet для решения...

В диалоговом окне найдите "EntityFramework.SqlServerCompact". Вы найдете пакет с описанием "Позволяет использовать SQL Server Compact 4.0 с Entity Framework". Установите этот пакет.

Элемент, похожий на следующий, будет вставлен в ваш web.config:

<entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="System.Data.SqlServerCe.4.0" />
    </parameters>
  </defaultConnectionFactory>
</entityFramework>

Ответ 2

У меня была такая же проблема. Я проверил версию System.Data.SqlServerCe в C:\Windows\assembly. Это было 3.5.1.0. Поэтому я установил версию 4.0.0 из ниже ссылки (x86) и отлично работает.

http://www.microsoft.com/download/en/details.aspx?id=17876

Ответ 3

Добавьте эти строки в файл web.config:

<system.data>
    <DbProviderFactories>
               <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data,  Version=6.6.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
    </DbProviderFactories>
</system.data>

Измените поставщика с MySQL на SQL Server или любого другого поставщика базы данных, к которому вы подключаетесь.

Ответ 4

Эта ошибка в основном связана с несовместимостью архитектуры процессора с установленным Framework ei x86 vs x64 Решение: Перейти к решению explorer > свойства проектa > вкладка Компилировать > Расширенные параметры компиляции Там вам нужно изменить целевой процессор с X64 на X86 Сохраните новые настройки и перекомпилируйте решение. Я попробовал, и все получилось очень хорошо. Надеюсь, это поможет вам. Малек

Ответ 5

В моем случае проблема была вызвана проблемой подключения к базе данных SQL. Я просто отключился, а затем повторно подключил источник данных SQL из проектного представления. Я снова работаю. Надеюсь, это сработает для всех.

Ответ 6

У меня была проблема similer с SqlClient в службе WCF. Моим решением было поместить эти строки в клиентский app.config

  <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>

Надеюсь, что это поможет кому-то.

Ответ 7

Это случилось со мной, потому что я создал новый проект, который пытался использовать System.Web.Providers DefaultMembershipProvider для членства. Моя БД и приложение были настроены для использования System.Web.Security.SqlMembershipProvider. Мне пришлось обновить строку поставщика и подключения (поскольку у этого провайдера есть некоторые странные требования к строкам соединения), чтобы заставить его работать.

Ответ 8

У меня было то же самое, следуя учебному руководству MvcMusicStore в части 4 и заменив данное соединение String на это:

добавить name= "MusicStoreEntities"    connectionString = "источник данных =.\SQLEXPRESS; Integrated Security = SSPI; database = MvcMusicStore; User ID = sa; password ="    ProviderName = "System.Data.SqlClient" /" >

Это сработало для меня.