Не удается подключиться к mysql из visual studio 2015

Так я уже потратил около 2 дней, пытаясь исправить это. Мне удалось исправить это на моем рабочем компьютере и не могу заставить его работать на моем домашнем компьютере. Я прочитал около десятка статей SO и статей Oracle forums и еще много чего, но все равно это не работает.

У меня есть 1.2.4 msql для visual studio, который должен быть выпуском, который работает на vs2015. Я установил mysql connector 6.8.6 и сначала попытался добавить mysql в свой проект через nuget, но после того, как не смог найдите версию 6.8.6 (есть 6.8.3 и 6.9.7 для одного пакета, а затем снова что-то еще для другого...) Я ссылался на мой C:Program файлы (x86)MySQLMySQL Connector Net 6.8.6Assembliesv4.5 и взяли файлы 4 там и скопировали их на весь компьютер fkin. Я наклеил его, как и везде. Частная сборка vs2013, папка "Мои пакеты", на которую я даже не ссылаюсь, и я думаю, что какая-то папка vs2015. Я запустил поиск Mysql.Данные и вставили эти файлы в каждой папке, которая появилась в результате. Я перестроил решение около 100-200 раз и плакал, по крайней мере, 20 минут.

что мне нужно сделать, чтобы получить мой новый ADO.Net сгенерированная модель данных сущности?

Я продолжаю получать эту глупость enter image description here изображение и я действительно абсолютно не знаю, что делать дальше. Я просто хочу кодировать, но каждый раз, когда я начинаю что-то делать, я продолжаю тратить дни на инструменты, которые не работают. Мне действительно нужно кодировать блокнот, чтобы я был уверен, что это моя вина, что что-то не работает?

Это мое приложение.Конфигурационный файл. В моем проекте больше ничего нет.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v12.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <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.8.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.8.6.0" newVersion="6.8.6.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <connectionStrings>
    <add name="KPlusConnectionString" connectionString="server=dito.ninja;user id=xxx;password=xxx;database=xxx" providerName="MySql.Data.MySqlClient" />
  </connectionStrings>
</configuration>

5 ответов


для того, чтобы VS 2015 подключился к MySql, вам нужно использовать более позднюю версию библиотек MySql. Хотя это кажется довольно простым ответом, честно говоря, я столкнулся с несколькими проблемами на этом пути. Имея это в виду, я собираюсь написать процесс 1, который последовательно работал для меня, пока EF работал с MySql и VS2015. Итак, без дальнейших церемоний, вот шаги, которые я предпринимал, чтобы заставить это работать.

1) Убедитесь, что MySql установка разъема обновляется!--3-->

2) Создайте свой веб-проект

3) Открыть Nuget

4) Установите Entity Framework

5) Поиск MySql

6) Установите MySql.Данные

7) Установите MySql.Данные.Сущность

8) Установите MySql.Данные.Лиц

9) Установите MySql.Web

10) перейдите к ссылкам для проекта и удалите MySql.Данные.Сущность.Ef6 в

11) проверяем версии MySql.Данные и MySql.Веб-библиотеки. Если они находятся под 6.9.6, удалите их также

12) добавьте новую ссылку, просматривая место установки для соединителя mysql для вашей версии .NET framework (мой C:\Program файлы (x86)\MySQL\Connector.NET 6.9 \ сборки\v4.5) и захват MySql.Данные.Сущность.Помощью ef6.dll (моя версия 6.9.6, имейте это в виду, когда мы меняем веб.конфиг позже)

13) Если другие библиотеки также были более старыми версиями, добавьте ссылки на них, перейдя в папку "пакеты" в решении и захватив файлы из соответствующих папок. Обычно я этого не делаю.

14) Теперь веб.config нужно будет отредактировать. Первым шагом является замена раздела Entity framework этим кодом (измените номер версии на текущую версию. Обратите внимание, что я нашел этот фрагмент в интернете пару недель назад и не имеют оригинальную ссылку. Я извиняюсь перед создателями этого информация.)

<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</entityFramework>

15) убедитесь, что ваш раздел DbProviderFactories матчей

<DbProviderFactories>
  <remove invariant="MySql.Data.MySqlClient" />
  <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.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>

16) сохранить и построить

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

P. S. Если после всего этого вы идете через Мастер, и он просто исчезает, прежде чем он показывает таблицы в базе данных для создания сущностей с тех пор это может быть одна из трех проблем, с которыми я столкнулся на этом пути. Невозможно связаться с сервером базы данных. Пользователь не имеет необходимых разрешений на базу данных. Неправильная версия MySql.Данные.Сущность.EF6 был добавлен в качестве ссылки или номер версии неверен в интернете.конфиг. Если я беру этот файл из каталога пакетов моего решения, я часто сталкиваюсь с этой проблемой прерванного мастера без сообщения об ошибке. Захват его из установки MySql каталог работал отлично для меня каждый раз.


Это работает для меня. У меня есть Visual Studio 2015 и только что установлена последняя версия connector: http://dev.mysql.com/downloads/windows/visualstudio/

читать повнимательнее: http://dev.mysql.com/doc/relnotes/mysql-for-visual-studio/en/visual-studio-news-1-2-4.html

они упоминают, что версия "Microsoft ASP.NET MVC" может быть проблемой. Неправильно, что они говорят, что VS2015 поставляется с версией 5, но у меня установлена версия 4 с VS2015 Enterprise final.


пробовал это, и это не сработало для меня. Что в конечном итоге сработало, так это убедиться, что у меня есть правильный водитель. Я запускаю 64-битный компьютер Windows 7. В конце концов мне пришлось установить 32-битную версию MySQL ODBC connector / driver и использовать следующую строку подключения "Provider=MSDASQL; Driver={MySQL ODBC 5.3 ANSI Driver}; Server=localhost; Database=xxxx; User=xxxx; password=xxxx; Option=3;" и это решило его. протестировал его на новом проекте без внесения всех вышеперечисленных изменений, и он работал просто штраф. Этот пост был очень полезен в объяснении этого:https://support.microsoft.com/en-us/kb/942976. Надеюсь, это сэкономит кому-то много времени


устанавливать пакет с этого сайта. http://dev.mysql.com/downloads/windows/visualstudio/ на вкладке версия.

Я остановил Visual Studio.. Я установил. ДОЖДАТЬСЯ.. Швы взять навсегда. Visual studio будет работать в фоновом режиме.

дождитесь завершения.

открыть Visual Studio. бум снова в игре!

удачи !


  1. для VS2015 я удалил всю установленную версию и через MySQL Installer-Community. Я выбрал настроить установку и выбрал MySQL Connectors для установки: 1. MySql для Visual Studio 2) MySQl ConnectorNet.

  2. я добавил ссылки: MySql.Данные y MySql.Данные.Сущность.Категория EF5 как в C:\Program файлы (x86)\MySQL\Connector.NET 6.9 \ сборки\v4.5\

  3. перекомпилировал проект и при создании de ADO.Net возражать известный поставщик данных MySql был показан! Было отображено предупреждение о версиях Entity Frame, я просто нажал Next и работал![Введите описание изображения здесь][1]