Comment puis-je spécifier mon application pour ne pas écraser le fichier app.config sur les machines clientes lorsque l'application est mise à jour par clickonce?Ne pas écraser le fichier app.config lors du déploiement avec clickonce
Répondre
si je ne me trompe pas, vous avez besoin quelque chose comme ça
Persisting app.config variables in updates via Click once deployment
Essayez-vous de conserver les paramètres lors d'une mise à jour? Si c'est le cas, regardez les paramètres de l'application et de l'utilisateur (dans les propriétés de votre projet). Ils ne sont pas écrasés lors de chaque mise à jour.
pas les paramètres de propriétés, le app.config, avec des chaînes de connexion, la configuration ioc, etc ... – caiokf
Ne voudriez-vous pas que ce type de configuration soit mis à jour sur le client – benPearce
non, car par exemple: les clients de mon réseau utilisent parfois des chaînes de connexion différentes, puis à chaque fois que je déploie l'application, elle met à 0.config – caiokf
Déplacer vos paramètres à un autre config pour chaque environnement vous déployez à ce que:
app.development.config
app.staging.config
app.production.config
Conserver tous les paramètres commun à ceux-ci dans votre application.config
Arrière-plan
J'ai demandé dans les commentaires de la question si les utilisateurs modifiaient manuellement le fichier app.config sur leur machine après le déploiement. L'affiche originale a répondu qu'ils le font.
Réponse
Il ressemble à l'affiche veut ClickOnce pour déployer le fichier app.config d'abord, puis pas déployer des mises à jour futures de l'application. C'est une mauvaise utilisation de ClickOnce. Je ne pense pas qu'il y ait un moyen facile de le faire, et même s'il y en avait, je conseillerais de ne pas le faire. Et si dans le futur vous voulez ajouter un nouveau paramètre à votre fichier app.config? Comment les utilisateurs obtiendront-ils ce nouveau paramètre si app.config n'est plus mis à jour sur leur machine?
Ce que je ferais à la place est de stocker les chaînes de connexion en tant que UserSettings. C'est exactement ce qui a été fait pour les paramètres utilisateur, ce qui varie d'un utilisateur à l'autre. En plus de cela, je leur fournirais probablement un formulaire simple pour éditer ces paramètres. Cela me rendrait nerveux d'avoir tous mes utilisateurs en train de fouiller avec leurs fichiers d'installation.
Cela n'aidera pas si les bibliothèques Microsoft.Practices regardent "magiquement" votre section connectionsStrings ... – dwerner
Je suis confus ... ne clients éditer le fichier de configuration sur leur machine après l'application est déployée? sinon, comment finissez-vous avec "clients ... en utilisant des chaînes de connexion différentes"? – codeConcussion
oui, certains d'entre eux éditent le app.config – caiokf