J'ai mon projet Xamarin.Forms (PCL approach). En outre, j'ai ajouté un autre PCL comme référence à ce projet en référençant la sortie dll du dossier Debug
. Ce PCL est également localisé après la même approche que le projet Xamarin.Forms en utilisant des fichiers RESX et en définissant la culture avec AppResources.Culture = ci;
Utiliser la localisation dans un fichier PCL
Le problème actuel est, que cela fonctionne comme prévu sur mon ordinateur local, mais pas sur le serveur de construction (Jenkins appelant MSBuild). La différence est aussi que je travaille dans le mode Debug
, le fichier apk généré (Android) est construit dans le mode Release
. Mais quel que soit le mode, localement la localisation fonctionne bien dans les deux modes! Sur le serveur de construire le fichier apk résultant contient maintenant un mélange de deux langues:
- chaînes localisées selon la langue de l'appareil en cours (projet Xamarin.Forms)
- des chaînes non localisées de la PCL (ne montrant que des chaînes supplémentaires à partir du fichier RESX neutre au langage)
Maintenant, je ne comprends pas pourquoi cela fonctionne localement, mais pas du côté du serveur de construction. Ce que j'ai essayé:
- J'enregistré la culture dans le « défectueux » généré apk du serveur de build et il est réglé correctement (à la fois l'application et le PCL supplémentaire)
- J'ai vérifié le loaded resources et un
AppResources.resources
montre des haut (apparemment, il contient tous les fichiers RESX, y compris les ressources propres à la langue?) - J'ai essayé d'appeler localement
MSBuild
semblable à la tâche accomplie sur le Jenkins construire serveur, mais comme toujours, localement, il fonctionne bien - J'ai suivi les instructions de Xamarin, mais je n'ai trouvé aucune solution
- La culture de dispositif est par ex.
en-US
, mais mon fichier RESX de langue neutre est défini suren
. J'ai essayé d'ajouter un fichierAppResources.en-US.resx
au fichier PCL supplémentaire, mais le système affiche toujours le contenu du fichier RESX neutre du langage.
Est-ce un problème de configuration sur le serveur de construction en combinaison avec MSBuild
? Si oui, qu'est-ce qui est différent ou qui manque? Ou est-ce un problème de code? Est-ce un problème en utilisant le même nom AppResources
pour la localisation dans les deux projets (XF et PCL supplémentaires)? Avez-vous des indices pour que je trouve ce problème?