2010-09-21 12 views
0

Je suis en train de lire sur la documentation pour une éventuelle affectation que je pourrais être mise. Dans un document de conception, ils parlent du fichier .exe.config. Ils affirment que son seul but est de stocker des constantes:L'objectif prévu pour le fichier <app name> .exe.config dans une application VB.NET Forms

"Also note that this file is meant to store constants only, it is not meant to write configuration values to (and the .NET 1.1. framework even prevents this by not offering classes/methods to do so). Therefore, configuration is written to XML files using a..."

Pour autant que je comprends, ce n'est pas vrai. Je ne sais pas si .NET 1.1 empêche cela, mais je me souviens que dans mon dernier projet, j'avais écrit des valeurs de configuration dans ce fichier (j'ai sauvegardé le contenu de l'interface graphique ici). Mon projet était un petit prototype, donc peut-être que je l'ai fait mal, mais je ne pense pas ...

Alors, quel est le but de ce fichier?

Merci d'avance.

Répondre

4

Non, c'est exact. Notez la colonne Scope dans le concepteur de paramètres. "Application" est utilisé pour définir les valeurs qui vont dans app.exe.config. "Utilisateur" doit être utilisé pour les paramètres qui peuvent être modifiés et sauvegardés. Ils vont dans un séparé fichier nommé user.config qui est stocké dans un sous-répertoire de AppData.

Cela doit fonctionner de cette façon car vous avez normalement besoin des privilèges d'administrateur pour modifier le fichier app.exe.config. Il doit être stocké dans le même répertoire que le fichier EXE. L'emplacement d'installation normal (c: \ program files \ something) est en lecture seule pour les comptes d'utilisateurs restreints ou les comptes d'administrateur avec le contrôle de compte d'utilisateur activé.

+1

Juste pour ajouter ceci: Les valeurs par défaut pour les paramètres de portée de l'utilisateur sont stockées dans le fichier app.config. Lorsqu'il est utilisé, il est d'abord vérifié si le paramètre utilisateur a une valeur dans le fichier de configuration dans le chemin d'accès AppData des utilisateurs, sinon, la valeur par défaut est utilisée à partir du fichier app.config principal. Lors de l'enregistrement des paramètres à partir de l'API .NET, le fichier utilisateur est écrit, pas app.config sur le chemin de l'application. – awe

0

Vous y stockez les paramètres. C'est un concept large, beaucoup de choses peuvent être considérées comme des paramètres. Constantes, chaînes de connexion, informations d'identification et même la disposition de l'interface graphique. Toutes les données XML en fait.

1

Bien que vous puissiez éditer le contenu du fichier de configuration, ce n'est généralement pas une bonne idée de le faire. Ce fichier concerne les informations de configuration, par opposition aux informations de profil/paramètres. Il existe d'autres API pour ce type de données dans .NET 2+

+0

Il n'est donc pas correct, par exemple, de stocker le contenu de l'interface graphique afin de pouvoir les charger à nouveau la prochaine fois que vous démarrerez? –

+0

C'est exact. ces paramètres s'appliquent à tous ceux qui ont utilisé l'application, ce qui n'est normalement pas ce que vous voulez. L'API des paramètres existe pour enregistrer les paramètres par utilisateur pour les programmes, et Visual Studio a même beaucoup de bonnes règles intégrées pour le rendre facile. Notez également que les meilleures pratiques vis-à-vis du contrôle de compte d'utilisateur devraient empêcher l'édition du fichier de configuration par un utilisateur. –