C'è un modo per ottenere il percorso dell'assembly in cui risiede il codice corrente? Non voglio il percorso dell'assembly chiamante, ma solo quello contenente il codice.
Fondamentalmente il mio test unitario deve leggere alcuni file di test XML che si trovano relativamente alla DLL. Voglio che il percorso si risolva sempre correttamente indipendentemente dal fatto che la DLL di test sia eseguita da TestDriven.NET, dalla GUI MbUnit o da qualcos'altro.
Modifica : le persone sembrano fraintendere ciò che sto chiedendo.
La mia libreria di test si trova in dire
C: \ Projects \ MyApplication \ daotests \ bin \ Debug \ daotests.dll
e vorrei ottenere questo percorso:
C: \ projects \ MyApplication \ daotests \ bin \ Debug \
I tre suggerimenti finora mi mancano quando corro dalla MbUnit Gui:
Environment.CurrentDirectory
dà c: \ Programmi \ MbUnitSystem.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location
fornisce C: \ Documents and Settings \ george \ Local Settings \ Temp \ .... \ DaoTests.dllSystem.Reflection.Assembly.GetExecutingAssembly().Location
dà lo stesso del precedente.
packages
accanto al file sln. MA quando compili e distribuisci cose non c'è nessun file sln e nessuna directory dei pacchetti. Durante la compilazione, le cose necessarie (ma non tutto) vengono copiate nella directory bin. La soluzione migliore è utilizzare uno script postbuild per copiare il file desiderato.