Existe-t-il un moyen d'obtenir le chemin de l'assembly dans lequel réside le code actuel? Je ne veux pas le chemin de l'assembly appelant, juste celui contenant le code.
Fondamentalement, mon test unitaire doit lire certains fichiers de test XML qui se trouvent par rapport à la DLL. Je veux que le chemin soit toujours résolu correctement, que la DLL de test soit exécutée à partir de TestDriven.NET, de l'interface graphique MbUnit ou d'autre chose.
Edit : Les gens semblent mal comprendre ce que je demande.
Ma bibliothèque de tests est située à Say
C: \ projects \ myapplication \ daotests \ bin \ Debug \ daotests.dll
et je voudrais obtenir ce chemin:
C: \ projects \ myapplication \ daotests \ bin \ Debug \
Jusqu'à présent, les trois suggestions me manquent lorsque je cours depuis le MbUnit Gui:
Environment.CurrentDirectory
donne c: \ Program Files \ MbUnitSystem.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location
donne C: \ Documents and Settings \ george \ Local Settings \ Temp \ .... \ DaoTests.dllSystem.Reflection.Assembly.GetExecutingAssembly().Location
donne la même chose que la précédente.
packages
côté du fichier sln. MAIS lorsque vous compilez et distribuez des choses, il n'y a pas de fichier sln ni de répertoire de packages. Pendant la compilation, les éléments nécessaires (mais pas tout) sont copiés dans le répertoire bin. Le mieux est d'utiliser un script de post-construction pour copier le fichier que vous souhaitez.