J'ai besoin de savoir s'il existe une sorte de directive de préprocesseur, ou peut-être juste une astuce qui me permet d'intégrer le dossier de solution dans lequel une application a été compilée dans l'application elle-même.Obtenir le ProjectPath ou le SolutionPath dans le code
Nous avons un système qui a besoin de vérifier les fichiers sur la machine locale et s'ils ne sont pas présents, va les chercher et les récupérer à partir d'un serveur distant ou d'un service cloud. Cela doit être résumé pour des raisons de portabilité. Nous avons des tests unitaires qui vérifient que la logique de récupération et de stockage à distance fonctionne correctement, mais avant de passer aux serveurs, je dois m'assurer que les gens testent localement de bout en bout, donc je veux avoir un fournisseur de fichiers distant factice cela vérifie simplement dans un dossier différent sur la machine locale. Je ne veux pas supposer un chemin particulier (comme C: \ dummy_files) et je ne peux pas non plus supposer que les fichiers seront relatifs au chemin d'exécution réel pour l'assembly compilé (donc quelque chose comme Directory.GetCurrentDirectory() ne va pas travail).
Si je sais d'où l'application exécutée a été compilée, alors les fichiers doivent être relatifs au répertoire de la solution avec le code source. Évidemment, je vais mettre des directives de préprocesseur pour autoriser seulement ce code à s'exécuter dans le débogage.
Utilisez NMake: https://msdn.microsoft.com/en-us/library/dd9y37ha.aspx – jdweng