Можно ли использовать F # TypeProviders в приложении Windows Store?
Я не могу понять, как заставить F # TypeProviders работать в приложении Windows Store (С#).
Насколько я могу судить, TypeProviders можно использовать только в сборке, ориентированной на полную платформу .NET Framework, тогда как приложения для Windows Store должны ориентироваться на .NET Portable.
Я создал сборку F # и ссылался на библиотеку F # TypeProviders, однако при попытке ссылаться на эту сборку из моего приложения Windows Store, я получаю сообщение об ошибке, указывающее, что на библиотеку нельзя ссылаться.
Есть ли способ обойти это? Я хочу использовать F # TypeProviders для ссылки на различные источники данных, а затем использовать сгенерированный код/типы в моем приложении Windows Store. У кого-нибудь есть опыт с этим?
UPDATE:
Просто, чтобы быть ясным, я спрашиваю, есть ли способ использовать стандартные F # TypeProviders (например, WsdlService) в приложении Windows Store?
Ответы
Ответ 1
Глядя на другие сборки FSharp.Data.TypeProviders.dll
, ссылается, я не думаю, что есть способ обойти это. Поскольку большинство поставщиков типов используются для доступа к базе данных так или иначе (ADO.NET, LINQ to SQL, EF), она ссылается на System.Data.dll
, которая недоступна в WinRT.
Единственными источниками данных, поддерживаемыми встроенными поставщиками типов, которые могут использоваться в WinRT, являются веб-службы и службы OData. Возможно, их поставщики могут поддерживаться в проекте WinRT, если они были реализованы в отдельной библиотеке, но не в их текущей реализации.
Ответ 2
Поставщики типов - это время проектирования/компиляции. Он должен работать в портальном библиотечном профиле. Возможно, это зависит от того, как реализована библиотека поставщика типов, но в целом она должна работать.
Подробнее см. Поставщики типов F # с портативной библиотекой