Question

J'ai plusieurs assemblys / projets dans la même solution c # /. net. Les utilisateurs de l'interface Web doivent enregistrer un paramètre, puis utiliser une application console et certains projets de test pour pouvoir accéder au même fichier. Où dois-je placer le fichier et comment y accéder?

J'ai essayé d'utiliser "AppDomain.CurrentDomain.BaseDirectory". mais cela finit par être différent pour mes assemblées. Également, le "System.Reflection.Assembly.Get * Assembly.Location". ne pas me donner ce dont j'ai besoin.

Peut-être que ce n’est pas quelque chose que je devrais faire mais dans un fichier, mais plutôt dans la base de données? Mais cela semble si compliqué de le faire pour quelques lignes de configuration.

Était-ce utile?

La solution

Personnellement, je mettrais à profit la base de données car l’alternative est soit un mal de tête de configuration, soit plus de problèmes qu’elle ne vaut la peine.

Vous pouvez configurer chaque application pour qu'elle pointe vers le même fichier, mais cela devient problématique si vous souhaitez déplacer le fichier. Vous pouvez également écrire un service pour gérer le fichier et l'exposer aux clients, mais vous pouvez également utiliser la base de données à ce stade.

Autres conseils

Placez le fichier dans

    Path.Combine(
        Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
        "[Company Name]\[Application Suite]");

Avez-vous pensé à le stocker dans le registre ou dans le stockage isolé? Vous ne savez pas si plusieurs applications peuvent partager le stockage isolé ou non, cependant.

Les projets

peuvent avoir des événements de construction - pourquoi ne pas ajouter un événement post-construction pour copier le fichier dans tous les emplacements requis?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top