windows - Få korrekt mappe ved hjælp af c #

Indlæg af Hanne Mølgaard Plasc

Problem



så jeg bygger en ny winfroms med opdatering mit program.


sagen er, jeg installerer ikke noget. så når jeg giver min freinds mit program, kan det sætte det, hvor de vil. hvordan kan jeg vide, hvor har de sagt det?


gerne, lad os sige mit program hedder 'MyProg'.


så lad os sige min freind satte 'MyProg' i C: \ programs \ install \ SayHello.


og jeg vil have mit program at vide, hvor hun er, og gem den til xml (hver gang hun laster).


så jeg ved, hvordan man bruger alt her, jeg skal bare vide, hvordan kan jeg få den mappebane, jeg er i nu. (for min udforskede foldepath='C: \ programs \ install \ SayHello.')


Nogen som helst?


Tak igen,
Alon. :)

Bedste reference


Fra Hvordan får jeg navnet på den aktuelle eksekverbare i C # ?, for at finde navnet på den igangværende enhed:


string file = object\_of\_type\_in\_application\_assembly.GetType().Assembly.Location; string app = System.IO.Path.GetFileNameWithoutExtension(file);


så for at finde stien til den løbende forsamling


string file = object\_of\_type\_in\_application\_assembly.GetType().Assembly.Location; string path = System.IO.Path.GetDirectoryName(file);


skal gøre jobbet.


Environment.CurrentDirectory vundet 'nødvendigvis returnere, hvad du vil, da det er muligt at køre programmet fra en anden mappe på konsollen.

Andre referencer 1


Der er et par muligheder, herunder:


Application.ExecutablePath


Søg efter 'få exe placering c #' for flere variationer på dette.

Andre referencer 2


Environment.CurrentDirectory indeholder den aktuelle mappe.

Andre referencer 3


Application.StartupPath


bør gøre det samme i dit tilfælde.