164 votes

Comment gardez-vous de l'utilisateur.paramètres de configuration à travers les différentes versions de montage .net?

Fondamentalement, le problème est que chaque fois que l'assemblée des changements de version (c'est à dire que l'utilisateur installe une nouvelle version de l'application) tous leurs paramètres sont réinitialisés aux valeurs par défaut (ou plus exactement à un nouvel utilisateur.fichier de configuration est créé dans un dossier avec un numéro de version différent que le nom)

Comment puis-je garder les mêmes paramètres que lors de la mise à niveau des versions, puisque l'utilisation de fichiers ini ou le registre semblent être découragé?

Lorsque nous avons utilisé Clickonce, il semblait être en mesure de gérer, de sorte qu'il semble que ce devrait être en mesure de faire, mais je ne suis pas sûr de savoir comment.

270voto

Markus Olsson Points 12651

ApplicationSettingsBase a une méthode de Mise à niveau qui migre tous les paramètres de la version précédente.

Afin d'exécuter la fusion à chaque fois que vous publiez une nouvelle version de votre application, vous pouvez définir un indicateur booléen dans votre fichier de settings qui est par défaut à true. Nom il UpgradeRequired ou quelque chose de similaire.

Ensuite, au démarrage de l'application-vous de vérifier pour voir si le drapeau est réglé, et si elle l'est, d'appeler la méthode de Mise à niveau, réglez l'indicateur de la faux et de la sauvegarde de votre configuration.

if (Settings.Default.UpgradeRequired)
{
    Settings.Default.Upgrade();
    Settings.Default.UpgradeRequired = false;
    Settings.Default.Save();
}

Lire plus sur la méthode de Mise à niveau à MSDN. Le GetPreviousVersion peut également être vaut le détour si vous avez besoin de faire quelques personnalisé fusion.

0voto

JMD Points 4784

Si vos modifications à l'utilisateur.les réglages sont effectués par programme, que diriez-vous de conserver une copie de (seulement) les modifications de l'utilisateur.paramètres dans un fichier distinct, par exemple, de l'utilisateur.personnalisé.les paramètres?

Probablement, vous voulez toujours à maintenir et à charge de la modification des paramètres de l'utilisateur.les paramètres. Mais de cette façon, lorsque vous installez une nouvelle version de votre application avec sa version la plus récente de l'utilisateur.paramètres vous pouvez demander à l'utilisateur s'il souhaite continuer à utiliser leurs paramètres modifiés en les copiant dans le nouveau utilisateur.les paramètres. Vous pourriez importer de gros, ou d'obtenir de l'amateur et de demander à l'utilisateur de confirmer les paramètres qu'ils veulent continuer à l'utiliser.

EDIT: j'ai lu trop rapidement le "plus précisément la partie" à propos de l'assemblage des versions provoquant un nouvel utilisateur.paramètres pour être installé dans une nouvelle version-répertoire spécifique. Ainsi, l'idée ci-dessus n'a probablement pas vous aider, mais peut fournir de la nourriture pour la pensée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X