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

Я разрабатываю asp.net веб-сайт с entity фреймворком.

  • Настройка моего локального ПК:

    • Windows 8
    • Visual Studio 2012, обновление 3
    • Установите коннектор Mysql (версия библиотеки 6.7.4)
    • подключиться к серверу базы данных MySQL с помощью EntityFramework
  • И у меня есть еще один сервер Windows 2008 Web Edition со следующей настройкой:

    • .Net framework 4.5
    • Соединитель MySQL
    • MySQL-сервер 5.6

Проблема в том, что после того, как я закончу программировать на своем локальном ПК, я публикую его на своем сервере, и при попытке запустить его появляется следующее сообщение, но на моем локальном ПК все работает нормально:

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

Сначала я подумал, что это потому, что он не может подключиться к серверу MySQL, но когда я тестирую кодирование с помощью классического ADO.NET для MySQL, он отлично работает на моем сервере Windows. Поэтому я подозреваю, что это связано с проблемой библиотеки сущностей, но я не знаю, что именно.

Кто-нибудь знает, что вызывает эту проблему?


person Chansothea Keo    schedule 23.08.2013    source источник
comment
Добро пожаловать в Stack Overflow! Можете ли вы опубликовать здесь соответствующие части кода, который у вас уже есть?   -  person Petr R.    schedule 23.08.2013


Ответы (1)


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

<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.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
person TheEdge    schedule 08.10.2013
comment
Это спасло мою задницу :) Спасибо :) У меня была версия 6.8.3.0, поэтому мне просто нужно было изменить номер версии, но это сработало отлично :) - person DigitalRayne; 09.03.2014