Hvordan får jeg banen til samlingen koden er i?
Finnes det en måte å få banen til samlingen der den gjeldende koden ligger? Jeg vil ikke ha banen til den anropende samlingen, bare den som inneholder koden.
I utgangspunktet må enhetstesten min lese noen xml-testfiler som er plassert i forhold til dll. Jeg vil at banen alltid skal løses riktig uavhengig av om testdll-en kjøres fra TestDriven.NET, MbUnit GUI eller noe annet.
Edit: Folk ser ut til å misforstå hva jeg spør om.
Testbiblioteket mitt ligger i for eksempel
C:\projects\myapplication\daotests\bin\Debug\daotests.dll
og jeg vil gjerne få denne banen:
C:\projects\myapplication\daotests\bin\Debug\Debug\
De tre forslagene så langt mislykkes meg når jeg kjører fra MbUnit Gui:
-
Environment.CurrentDirectory
gir c:\Program Files\MbUnit\. -
System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location
gir C:\Documents and Settings\george\Local Innstillinger\Temp\ ....\DaoTests.dll. -
System.Reflection.Assembly.GetExecutingAssembly().Location
(System.Reflection.Assembly.GetExecutingAssembly().Location) gir det samme som det forrige.
Hjelper dette?
Dette bør fungere, med mindre sammenstillingen er skyggekopiert:
Den gjeldende katalogen der du finnes.
Hvis du kopierer .xml-filen ut med build, bør du finne den.
eller