2 votes

Comment définir le chemin d'accès à un fichier dans un dossier spécifique de la solution ?

J'ai un chemin de fichier comme ci-dessous pour atteindre le fichier :

StreamReader fileStream = new StreamReader(@"C:\Projects\SisStuff\SIS\SIS.Core\Models\CreateEditTemplate.cshtml");

Je veux maintenant supprimer le c:Project \SisStuff pour le rendre indépendant du chemin d'accès au fichier dans mon ordinateur, j'essaie @"~ \Models\CreateEditTemplate.cshtml "mais ne le trouve pas dans le dossier debug, comment puis-je le faire fonctionner ?

2voto

Michael Perrenoud Points 37869

La seule façon de faire fonctionner ce système entre les différents systèmes est de créer une variable système connue. Par exemple, vous pouvez obtenir le répertoire de Windows en utilisant %windir% pas vrai ? C'est parce qu'il s'agit d'une variable système bien définie.

Cependant, si vous essayez simplement d'aller à la racine de votre projet, vous pouvez vous rappeler qu'il est toujours va démarrer dans le répertoire à partir duquel vous l'exécutez. Ainsi, lors de l'exécution dans Visual Studio, vous voudriez (en supposant que vous utilisez le chemin d'accès par défaut défini dans les modèles de projet) ..\..\Models\CreateEditTemplate.cshtml .

Cependant, si vous aviez besoin de cela en production pour une raison quelconque, cela ressemblerait plutôt à ..\Models\CreateEditTemplate.cshtml car, par défaut, il y a simplement un bin dans la production que vous devez quitter.

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