14

Je suis un peu déconcerté par les différentes façons dont Visual Studio permet d'enregistrer les valeurs dynamiques dans un projet et la manière dont elles sont destinées à être utilisées.Paramètres utilisateur vs paramètres d'application et ressources dans Visual Studio 2008

Je comprends que si j'ai besoin d'inclure des informations binaires comme une image ou un fichier son avec mon application, j'ai besoin d'ajouter cela à un fichier de ressources. Mais si j'écris quelque chose comme un chemin de fichier, pourquoi utiliser ou non une chaîne dans un fichier de ressources sur une chaîne dans un fichier de paramètres d'application (app.config) ou un fichier de paramètres utilisateur (myapp.dll.config)?

Répondre

6

Généralement, il est préférable d'utiliser un fichier de configuration pour les éléments susceptibles de changer à chaque déploiement. De cette façon, si vous avez besoin de changer ce chemin de fichier, vous n'aurez pas besoin de recompiler.

+1

Ok, bon point pour changer une ressource que vous auriez besoin de recompiler, mais pour changer un paramètre d'application/utilisateur, vous avez seulement besoin de changer le fichier de paramètres XML. –

+0

Correct. Les fichiers de configuration sont les meilleurs pour stocker les paramètres spécifiques à l'environnement, ce qui dépend de l'installation. Cela peut inclure des chemins de fichier, des chaînes de connexion de base de données et des URI pour les services qui peuvent changer. Cela laisse une construction stable dans le tact. – Blanthor

15

Désolé pour la résurrection, mais il y a un autre facteur à considérer que je ne pense pas que cela a été mentionné:

Les utilisateurs peuvent falsifier config à coeur joie - ce qui signifie que vous devez soit valider les valeurs là, ou assurez-vous que tout ce qui les utilise ne se soucie pas si elles sont absurdes. Je doute que les fichiers de ressources sont incorruptibles soit - je sais qu'il est possible de d'extraire valeurs d'eux, mais si oui ou non il est possible de remplacer eux sans recompiler, je ne sais pas. Dans tous les cas, si vous ne voulez pas que l'utilisateur change ces valeurs sans un effort concerté, optez pour des ressources. Si vous souhaitez activer ou même encourager la modification des paramètres après la mise en marché, accédez aux paramètres de l'application.