Hoe krijg ik het pad van de applicatie's in een .NET console applicatie?

Hoe vind ik het pad van de applicatie's in een console applicatie?

In Windows Forms, kan ik Application.StartupPath gebruiken om het huidige pad te vinden, maar dit lijkt niet beschikbaar te zijn in een console applicatie.

Oplossing

System.Reflection.Assembly.GetExecutingAssembly().Location1

Combineer dat met System.IO.Path.GetDirectoryName als je alleen de directory wilt weten.

1Als per Mr.Mindor's comment: System.Reflection.Assembly.GetExecutingAssembly().Location retourneert waar de uitvoerende assembly zich momenteel bevindt, wat al dan niet de plaats kan zijn waar de assembly zich bevindt wanneer deze niet wordt uitgevoerd. In het geval van schaduw kopieren van assemblies, krijg je een pad in een temp directory. System.Reflection.Assembly.GetExecutingAssembly().CodeBase zal het 'permanente' pad van de assembly teruggeven.

Commentaren (18)

U kunt de volgende code gebruiken om de huidige toepassingsdirectory op te vragen.

AppDomain.CurrentDomain.BaseDirectory
Commentaren (6)

Misschien wil je dit doen:

System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
Commentaren (0)