Comment puis-je convertir Assemblée.La base de code dans un chemin du système de fichiers en C#?

J'ai un projet qui stocke les modèles dans un \Templates dossier à côté de la Dll et EXE.

Je veux déterminer ce chemin d'accès au fichier lors de l'exécution, mais en utilisant une technique qui fonctionne à l'intérieur d'une unité de test ainsi que dans la production (et je ne veux pas désactiver l'ombre-la copie de NUnit!)

Assembly.Location n'est pas bon parce qu'il renvoie l'ombre-copié de l'assemblée chemin d'accès lors de l'exécution en vertu de NUnit.

Environment.CommandLine est également limité car dans NUnit et al, il renvoie le chemin d'accès NUnit, pas à mon projet.

Assembly.CodeBase semble prometteur, mais c'est un chemin d'accès UNC:

file:///D:/projects/MyApp/MyApp/bin/debug/MyApp.exe

Maintenant, je pourrait dans un local chemin du système de fichiers à l'aide de la manipulation de la chaîne, mais je suspecte qu'il y a une manière plus propre de le faire enterré dans le .NET framework quelque part. Quelqu'un connait un moyen recommandé de le faire?

(Lancer une exception si le chemin d'accès UNC n'est pas un file:/// URL est absolument parfait dans ce contexte)