2016-03-08 4 views
2

Я только что начал кодирование в коде Visual Studio с .NET Core, на Ubuntu 14.04. Я привык к использованию Ubuntu (из личных интересов, хобби и т. Д.) И .NET и Visual Студия на работе..Net Core MySql

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

Он был установлен с командой dnu install MySql.ConnectorNET.Data И это, казалось, отлично работало. Зависимость была добавлена ​​в файл project.json и IntelliSense смог пройти пакет просто отлично, но OmniSharp журнала сообщает, что:

[INFORMATION:OmniSharp.Dnx.DnxProjectSystem] Project /home/<username>/VSCode/SimpleSQLatmpt/project.json has these unresolved references: MySql.ConnectorNET.Data 

, и я просто не могу показаться, чтобы исправить это. VSCode, похоже, обнаруживает его и просит запустить команду dnu restore. Но это бесполезно. Для всех целей и задач, похоже, MySql.ConnectorNET.Data доступен в проекте, но просто не может быть использован.

Может ли кто-нибудь сказать мне, как это исправить? И не менее важно, почему это происходит в первую очередь?

Большое спасибо за ваше время.

+0

Существуют ли какие-либо предупреждающие символы, когда вы расширяете свои ссылки на проекты? –

+0

VSCode не имеет классического дерева зависимостей на левой панели. Я могу открыть файл project.json для просмотра всех зависимостей, там он выглядит хорошо, как будто он ссылается на правильный пакет из nuget – user3801839

+0

. NET Core является специальным и требует специальной сборки. Кроме того, все компоненты еще не готовы к этой новой платформе, поэтому не играйте с ней, хотя вы можете быть храбрыми. –

ответ

12

На момент появления данного вопроса (март 2016) для MySQL не было .NET-совместимого поставщика ADO.NET.

Теперь ситуация изменилась:

  • MySqlConnector написана Брэдли Грейнджер - под лицензией MIT, и предлагает полную поддержку асинхронной
  • MySql.Data (> 6.10), предоставляемой Oracle (традиционно, GPL)

Лично я предпочитаю MySqlConnector - его можно использовать в коммерческих проектах бесплатно (лицензия MIT); также я протестировал его с моей библиотекой NReco.Data под Linux, и он отлично работает в моем сценарии. К сожалению, MySqlConnector пока не поддерживает EF Core. Поставщик

еще один .NET Core-совместимый разъем MySQL + EF Ядро MySQL -

--- UPDATE:

+0

'MySql.Data.Core' больше не существует. См. Https://www.nuget.org/packages/MySql.Data.Core/ –

+0

@MuhammadUmmar. Вы правы. MySql.Data.Core был устарел, и теперь сетевая совместимая сборка доступна для пакета MySql.Data (I 'обновил ссылку). –

2

ОБНОВЛЕНИЕ 2

MySql Connector NET для .NET Ядра 1.0 была выпущена только (Sep 2016)
http://insidemysql.com/mysql-connector-net-for-net-core-1-0/

Я не пробовал разъем Брэдли Грейнджер, но это один из MySQL не поддерживает SSL. :(

Таким образом, любой, кто хочет использовать в любом случае, должны соединяться с «; SslMode = None;». В строке подключения

+0

Ну, мне нравится использовать официальные коннекторы, но SSL не является разрывом. – user3801839

+1

Мы просто добавили поддержку SSL в v0.3.0 MySqlConnector: https://github.com/mysql-net/MySqlConnector https://www.nuget.org/packages/MySqlConnector/ –