[C#] Current directory in windows service

Pagina: 1
Acties:

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Ik ben nu (voor het eerst) bezig met een windows service in C#.
Het punt is dat de service een bestand inleest die in dezelfde directory als de executable staat. Met een normaal programma kan je dan gewoon File.Open("bestand.dat"); doen (pseudo). Maar nu is de current path blijkbaar de systeem directory geworden, want het bestand wordt niet meer gevonden.
Het zoekt nu in C:\Windows\System\win32 ..

En om een of andere reden kan ik niet vinden hoe ik de path kan krijgen van de executable die als service draait.

Hoe gaat mij dit lukken?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Ik heb het nu wel opgelost, maar naar mijn mening een beetje omslachtig. Als iemand hier een mooiere methode voor weet, let me know.
code:
1
2
string currentDirectory = System.Reflection.Assembly.GetExecutingAssembly().Location;
currentDirectory = currentDirectory.Substring(0, currentDirectory.LastIndexOf("\\"));

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
kun je geen .ini bestand oid. in je sys32-dir zetten die de paths bevat?

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Limhes: kun je geen .ini bestand oid. in je sys32-dir zetten die de paths bevat?

Omdat .NET die juist probeert te elemineren ivm. vereenvoudigde deployment (assemblies)