2013-05-20 2 views
1

У меня проблема, описанная в заголовке вопроса.VS 2012 - Невозможно добавить библиотеки MySQL.Data в мой проект WP7 C#

Я не понимаю, по каким именно причинам Nuget не может добавить библиотеки базы данных MySQL.Data в мой проект (Silverlight v4.0/C# target Windows Phone 7.1) в Visual Studio 2012 Express (в Windows 8 Pro x64). Я также попытался добавить вручную файлы DLL, загружающие их на официальный сайт MySQL (версии 6.5 и более поздние версии), но безуспешно.

В нем говорится, что пакет не содержит ссылок на сборки или файлы данных, совместимые с инфраструктурой (MySQL.Data).

Любые идеи, как решить эту проблему?

PS: это дает мне ту же ошибку, когда я пытаюсь установить пакет Nuget.Core, я не знаю, если это симптом коррумпированного менеджера NuGet ...

+0

Поскольку Silverlight/Windows Phone имеет очень ограниченный набор возможностей платформы .NET, вероятность того, что MySQL.Data зависит от функций, недоступных для этой платформы. То же самое относится к NuGet.Core. – jessehouwing

+0

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

+0

Если вы посмотрите в каталоге пакетов, сделайте эти пакеты с папкой SL4? Каждый пакет должен явно поддерживать выбранную структуру, иначе она не будет установлена. System.Data обычно не поддерживается Windows Phone. Даже SqlClient. Это по дизайну. Вам необходимо предоставить свою базу данных, предоставив для нее веб-сервис. – jessehouwing

ответ

1

Пакет MySQL.Data зависит от библиотеку System.Data, чтобы создать соединение непосредственно с вашей базой данных. Прямые подключения к базе данных не поддерживаются библиотеками Windows Phone, так как для этого требуется, чтобы ваш телефон подключался к вашим базам данных и устанавливал соединение с состоянием. Эти типы соединений являются хрупкими и дорогостоящими для поддержания.

При просмотре папки packages\**library**\Lib вы увидите двоичный файл для каждой поддерживаемой платформы. Например, HTMLAgilityPack включает в себя sl4-windowsphone71 и, таким образом, поддерживается. MySQL.Data не делает, и как таковой не поддерживается: Difference between support of framework versions

Вместо этого вы должны будете подвергать WebService (XML или JSON, например), которые могут потребляться вашего телефона приложение Windows, в безгосударственного моды.

+0

Большое спасибо, теперь я могу понять, и я буду следовать вашему методу! –