2017-05-20 1 views
0

J'ai créé un projet Xamarin Forms dans VS 2017 Community Edition. Je voudrais utiliser FluentMigrator pour créer une base de données à utiliser dans l'application.Utilisation de FluentMigrator dans une bibliothèque de classes portable Xamarin

Lorsque je tente d'utiliser NuGet PM pour installer FluentMigrator dans le projet, je reçois l'erreur suivante:

Could not install package 'FluentMigrator 1.6.2'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile259', but the package does not contain any assembly references or content files that are compatible with that framework. For more 
information, contact the package author. 

Je suppose que c'est le fait que mon projet est using.NETPortable.

Est-il possible d'utiliser FluentMigrator dans un PCL Xamarin? Si oui, que faut-il changer dans la configuration de mon projet?

Répondre

1

Le FluentMigrator ne dispose d'aucun ensemble compatible avec les projets PCL. Il contient deux répertoires lib: 35 et 40. Ceux-ci semblent avoir des assemblys .NET pour .NET 3.5 et .NET 4.0. Vous ne pouvez donc pas l'installer dans un projet PCL. Je verrais plutôt si vous pouvez juste créer un projet .NET, par exemple en ciblant .NET 4.5, et installer le paquet FluentMigrator NuGet dans ce projet et y définir vos migrations.

+0

Merci pour l'info. Je veux être en mesure d'exécuter les migrations dans une application Xamarin pour créer une base de données SQLite sur Android et iOS. Si je crée un projet distinct comme vous l'avez mentionné, en ciblant .NET 4.5, je ne pense pas que je serai en mesure d'empaqueter le code dans ce projet dans le code Xamarin. Ai-je raison à ce sujet? – ryanmcfall

+0

Ah je vois que vous voulez être en mesure d'exécuter les migrations sur le périphérique mobile. Donc, non, vous ne pourrez pas utiliser le migrateur à moins que vous ne puissiez le compiler depuis la source vers un PCL ou sur chaque plate-forme. Ou recherchez un autre paquet NuGet qui fonctionne sur les plates-formes dont vous avez besoin. Sqlite-net dispose d'un support de [migration automatique] (https://github.com/praeclarum/sqlite-net/wiki/AutomaticMigrations) intégré. –

+0

J'ai fait quelques tentatives pour compiler le code de FluentMigrator en PCL, mais je ne voulais pas y passer beaucoup de temps. Pour l'instant je vais probablement essayer l'approche de projet séparé, et créer un fichier de base de données à installer avec l'application mobile; cela ne me laissera pas beaucoup de flexibilité si des changements sont nécessaires, mais je vais devoir vivre avec ça. Il y aura potentiellement une base de données côté serveur avec le projet, donc l'utilisation de quelque chose qui est spécifique à Sqlite n'est pas très attrayante, car je ne prévois pas l'utiliser comme une base de données côté serveur. – ryanmcfall