Om jag använder mig av Application.StartupPath så får jag Frågan är i mitt tycke felaktig, du kan inte utgå ifrån att din applikation ska köras från samma ställe som den har kompilerats från (dvs från en katalog skapad av VS.NET). Det korrekta beteendet borde vara att den skriver/läser (vad du nu ska göra i katalogen) från en katalog som ligger under bin/debug. Alternativt kan du ju speca en absolut path till din katalog som konfigurations info i app.config, då blir du inte beroende av om du kör applikationen från din kompilerings-katalog eller från en drift-katalog. Ok feltänkt av mig. Jag har väll inte förståt riktig hur man skall lägga upp mappstrukturen. Jag skulle rekommendera Application.StartupPath hänvisar till den mapp där själva exe filen befinner sig. Ligger exe filen i C:\tjohej\prog så returnerar alltså Application.StartupPath C:\tjohej\prog. >Application.StartupPath hänvisar till den mapp där själva exe filen befinner sig.Application.StartupPath
följande path: E:\C#\SAW\SAW\bin\Debug
Men om jag dynamiskt hellre vill ha:
E:\C#\SAW\SAW\Report
hur bör jag skriva då??
( i vb kunde man ju skriva "app.path & (../report/")Sv: Application.StartupPath
Om du kopierar applikationen till en annan maskin så kommer du ju att lägga den under en katalog som heter SAW. Då ska du ju inte leta i ../../report utan i ./report.
/MattiasSv: Application.StartupPath
Om jag har förståt dig rätt, så skall jag bygga runt "debug"?
I såfall är det då korrekt att skriva string mapp = Application.StartupPath + "\report\"; ?Sv: Application.StartupPath
mapp = System.IO.Path.Combine(Application.StartupPath, "report");
MSSv: Application.StartupPath
mapp = Application.StartupPath + "\report" blir således C:\tjohej\prog\reportSv: Application.StartupPath
>Ligger exe filen i C:\tjohej\prog så returnerar alltså Application.StartupPath
>C:\tjohej\prog.
>
>mapp = Application.StartupPath + "\report" blir således C:\tjohej\prog\report
Men om nån sen skulle installera programmet i rotkatalogen av nån anledning, så skulle Application.StartupPath returnera "x:\" och mapp skulle bli "x:\\report". Dubbel backslash funkar inge bra.
MS