Andrey on .NET | Подключаем MySQL .NET Connector к Visual Studio 2012 RC

Подключаем MySQL .NET Connector к Visual Studio 2012 RC

Для взаимодействия с серверами MySQL в .NET существует специальный драйвер под названием Connector. Однако, из-за ошибки в поставляемом с ним расширении, невозможно указать сервер MySQL в различных помощниках Visual Studio 2012 RC. Давайте исправим эту проблему за несколько минут с помощью командной строки и Notepad.

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

  1. Скачайте и установите .NET Connector.
  2. Создайте папку (например D:\MySQLConnectorFix) и скопируйте в неё установочный файл (mysql-connector-net-6.5.4.msi).
  3. Запустите командную строку. В ней перейдите в созданную папку и выполните команду, указав в параметре TARGETDIR место, куда будет распаковано содержимое msi файла:
    msiexec /a mysql-connector-net-6.5.4.msi /qb TARGETDIR=D:\MySQLConnectorFix\Unpacked
  4. В Explorer откройте Unpacked\Unpacked\VSPath\Extensions\Oracle\MySQL Connector Net\6.5.4 и в файле extension.vsixmanifest:
    • Удалите строку c тегом <InstalledByMsi>true</InstalledByMsi>;
    • После блока <VisualStudio Version="10.0"> добавьте данные для версии "11.0":
      <VisualStudio Version="11.0">
        <Edition>Ultimate</Edition>
        <Edition>Premium</Edition>
        <Edition>Pro</Edition>
        <Edition>VWDExpress</Edition>
        <Edition>VPDExpress</Edition>
        <Edition>VSWinExpress</Edition>
        <Edition>VSWinDesktopExpress</Edition>
      </VisualStudio>
  5. В этой же папке создайте файл с именем [Content_Types].xml и содержимым (в одну строку):
    <?xml version="1.0" encoding="utf-8"?>
    <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
        <Default Extension="dll" ContentType="application/octet-stream" />
        <Default Extension="vsixmanifest" ContentType="text/xml" />
        <Default Extension="rtf" ContentType="text/richtext" />
        <Default Extension="png" ContentType="application/octet-stream" />
        <Default Extension="pkgdef" ContentType="text/plain" />
    </Types>
  6. Создайте расширение для Visual Studio. Для этого упакуйте все файлы текущей папки в zip архив и измените его расширение на visx, например, MySQLConnector.vsix.
  7. Осталось только установить полученное дополнение.

Данный способ взят из статьи "Instalando MySql Connector no Visual Studio 2011 Beta", размещенной на бразильской верси�� сайта Microsoft TechNet.

Комментарии (35) -

Hi,

Установил, но не работает. При попытке соединения с БД:

Server Explorer/Connect to Database/MySQL Database <Continue>
При попытке ввести хоть что-то в поле Server Name, окно сразу закрывается. Хотя бы один символ.

Ещё вопрос - если заработает как ожидается, то можно ли подключиться с Google Cloud SQL (MySQL 5.5)?

св.

PS: VS 2012 RC (последний).

@ sv: Описанный способ я выполнил на 3 компах - везде ок. Поэтому подсказать что-либо не смогу. Только если попробовать отключить все остальные расширения VS для проверки. С Google Cloud SQL не работал.

@ Andrey:

Если возможно, выложите (или вышлите мне на email) Ваши модифицированные файлы, о которых идёт речь, и vsix-файл. Я сверю со своими.

св.

@ sv: Скинул изменения.

Максим 29.06.2012 9:59:24

Не получилось, пишет нет продуктов для установки или поврежден... А можно получить на почту Ваш файл *.vsix ? Спасибо.

@ Максим: Скинул.

Максим 01.07.2012 1:48:48

Спасибо, получил. Инсталляция прошла успешно. Но, в Server Explorer провайдер есть, тест подключения проходит, а баз не видит и при попытке подключения (жмем ОК) пишет, что не находит .Net Framework Data Provider. При подключении через - новый элемент, ADO.NET Entity Data MOdel провайдера нет, только microsoft SQL/

А сам .NET Connector установлен? Его версия соответствует версии MySQL?

Максим 01.07.2012 17:53:30

Все получилось, просто надо было удалить в VS2012 -> Extenchion and Apdates косо ставший коннектор от предыдущих проб. Потом поставить новый. Стал и на x32 и x.64. Спасибо

У кого не получалось ставить - версию 10 на 11 нужно менять в 2х местах Smile
Автор, поправьте пожалуйста в статье.

@ Анна: Если вы про тэг reference, то там указывается минимальная версия MinVersion.

Сергей 27.08.2012 16:04:43

та же самая проблема, что и у  sv

При попытке ввести хоть что-то в поле Server Name, User name, Password или при попытки поставить галочку Save my password окно сразу закрывается

Сергей 27.08.2012 16:53:49

Решил - удалил и установил конектор

можно Ваш vsix файл на почту?

Виталий 16.09.2012 18:14:04

Не ставится на Visual Studio Express 2012 для Desktop. Говорит расширение не может быть установлено ни для одного из установленных продуктов. Может чего изменить надо для Express выпуска?

@ Виталий: Необходимо указать Desktop Express версию в манифесте. Я поправил код в статье (там где про VisualStudio Version="10.0"), но не уверен что само расширение будет работать с Desktop Express.

Виталий 17.09.2012 22:26:23

@ Andrey: Попробовал, теперь Express версию видит, однако пишет другую ошибку - "Ошибка установки: Не удается установить это расширение, поскольку отсутствуют следующие ссылки: - Visual Studio MPF"

@ Виталий: Возможно уже проблемы совместимости самого расширения. Остается только ждать релиза с поддержкой VS2012.

Виталий 18.09.2012 2:43:40

@ Andrey: Понял, спасибо!

Спасибо! У меня данный способ сработал

Игорь 29.09.2012 18:57:18

Я что то не могу понять - после установки расширения должны компоненты появится или только или только Mysql database в change data source

@ Игорь: А какие компоненты вы ждете Задача этого расширения - установить драйвер для доступа к MySQL.

Игорь 29.09.2012 22:19:31

понятно, я вот через среду законектился к базе а как в коде написать что бы получить данные ?

using MySql;

@ Игорь: Использовать Entity Framework например.

здравствуйте, в 100500 раз создаю *.vsix  файл, а он все говорит, что "файл не является действительным пакетом *.vsix". в чем ошибка? и можно ли получить ваш *.vsix файл. Заранее Спасибо.

@ Yoj: Скинул по почте.

@ Andrey:Спасибо огромное.

Сделал все что здесь написано. Однако проблема такая же как и у sv. При попытке ввести сервер пароль или базу или поставить галочку на сохранение пароля вылетает полностью VS.

@ Fiver: Уже давно вышла полноценная версия под VS2012 (есть на сайте MySQL). Попробуйте её.

Сергей 03.07.2013 17:04:57

Всё получилось, коннект к MySql-базе есть, селекты делаются.
Однако, когда делают апдейт полей в таблице, то изменения в базу не вносятся, хотя и ошибка не выдаётся, код проходит через db.SaveChanges() гладко.
В чём может быть проблема такого странного поведения?

@ Сергей: Не сталкивался. А версия коннектора и MySQL какая? Вне контекста нет открытых транзакций?

Андрей 22.09.2014 18:19:47

Что делать если такая вещь выскакивает в cmd?

"msiexec" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

%SystemRoot%\System32 в переменной PATH есть.
C:\Windows\System32\msiexec.exe есть.

Давид 25.12.2015 21:46:17

здравствуйте, в 100500 раз создаю *.vsix  файл, а он все говорит, что "файл не является действительным пакетом *.vsix". в чем ошибка? и можно ли получить ваш *.vsix файл. Заранее Спасибо.

Свежие версии работают корректно с VS. Поэтому просто лучше взять свежую версию. Выслать vsix не могу из-за его отсутствия.

Pingbacks and trackbacks (1)+

Добавить комментарий