2010-09-29 6 views
0

J'ai un test qui exécute un script. Il obtient le chemin du fichier app.config:Comment définir le chemin dans le fichier de configuration

<scriptsSectionGroup> 
    <scriptsCollection> 
     <scripts> 
     <add name="TestScript" path="C:\My Projects\RestServicePublishing\UtilityFixture\testScript.bat"/> 
     </scripts> 
    </scriptsCollection> 
    </scriptsSectionGroup> 

« testScript.bat » est situé dans le projet UtilityFixture. Ce n'est pas dans un sous-dossier.

UtilityFixture

  • testScript.bat

Cependant, je ne veux pas spécifier le chemin complet que j'ai ici. Je veux faire en sorte qu'il trouve 'testScript.bat' dans le projet 'UtilityFixture' quel que soit le répertoire dans lequel le projet est installé. Dites si quelqu'un d'autre le télécharge du contrôle de la source vers un autre emplacement.

Pour expliquer cela plus loin, je veux que le fichier soit trouvé si je dis déplacer la solution 'RestServicePublishing vers un nouveau dossier "C: \ My Projects 2".

Quelqu'un peut-il me dire si c'est possible?

Merci

+1

Pouvez-vous mettre des exemples de structures de dossiers s'il vous plaît. Votre explication est confuse. –

+0

Je vais l'ajouter bientôt. Pour une raison quelconque, le code n'apparaît pas aussi –

Répondre

0

Vous n'avez pas besoin de spécifier un chemin du tout si le script est dans le même dossier que l'exécutable. Dans le cas contraire, vous pouvez le spécifier par rapport à l'EXE,

..\testScript.bat   # in parent folder 
scripts\testScript.bat  # in subfolder 

Dans tous les cas, vous avez raison, vous ne voulez certainement pas d'utiliser un emplacement « bien connu » (à savoir chemin hardcoded).

+0

J'ai essayé cela mais il ne semble pas vérifier le fichier en utilisant un chemin relatif à l'exe. Il essaie en fait de trouver .. \ testScript.bat sans substituer l'endroit où le projet est exécuté –

Questions connexes