Avatar billede the_raze Nybegynder
11. marts 2008 - 14:57 Der er 11 kommentarer

Indlæse fil, problemer med korrekt sti

Hejsa,

Jeg har en alm. c# klasse i et alm. c# projekt. I denne bliver der foretaget en XSLT transformering på noget xml data.

Mit problem opstår, når jeg skal indlæse min .xslt fil (form.xslt).

XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("Form.xslt");

Ovenstående virker ikke.. Min form.xslt ligger i samme dir som min c# klasse.. Hvad skal jeg skrive inden i xslt.Load() for at sikre mig min fil bliver loaded? Jeg ønsker ikke at angive en absolut sti på formen C:\projekter.. bla bla .. men vil gerne have så den altid refererer til filen uanset hvor projektet ligger.

Håber i kan hjælpe? :)

På forhånd tusind tak!
Avatar billede arne_v Ekspert
11. marts 2008 - 15:01 #1
Du kan finde placeringen af din EXE med:

Path.GetDirectoryName(Environment.GetCommandLineArgs()[0])
Avatar billede Spotgun Seniormester
11. marts 2008 - 15:03 #2
Ligger "form.xslt" filen i samme mappe som den compilede .exe fil, eller ligger den samme sted som klasserne og de andre projektfiler?
Avatar billede the_raze Nybegynder
11. marts 2008 - 15:07 #3
spotgun: "form.xslt" ligger i samme mappe som klasserne og de andre projektfiler
Avatar billede Spotgun Seniormester
11. marts 2008 - 15:16 #4
Så er det formentlig derfor det ikke virker.

Når du bruger xslt.Load(), så kigger den i samme mappe som .exe filen ligger. Hvis du bruger Visual Studio, så ligger .exe filen under bin\debug eller bin\release, så prøv at flytte xslt-filen derind.
Avatar billede arne_v Ekspert
11. marts 2008 - 15:19 #5
Hvis man loader en fil uden at angive dir, saa bruger den vel current dir og ikke
dir for EXE ?

(de kan vaere ens, men det behover de ikke at vaere !)
Avatar billede the_raze Nybegynder
11. marts 2008 - 15:21 #6
Jeg tænkte bare på, om der var en måde enten at embedde filen i projektet, eller andet - sådan at jeg ikke manuelt skal kopiere filen over i mit bin/debug eller bin/release dir?

Ville være meget bedre hvis den bare blev kopieret derover oncompile, eller noget i den stil..
Avatar billede Spotgun Seniormester
11. marts 2008 - 15:22 #7
Arne: Det er selvfølgeligt rigtigt, my bad. :)
Avatar billede Spotgun Seniormester
11. marts 2008 - 15:24 #8
Der er nogle her med samme ønske som dig. Ser ud til at de har fundet en løsning til at embedde filer i dit projekt.

http://www.thescripts.com/forum/thread232819.html
Avatar billede arne_v Ekspert
12. marts 2008 - 00:24 #9
Path.Combine(Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]),"blabla.txt")

bør virke med en ekstern fil
Avatar billede the_raze Nybegynder
17. marts 2008 - 21:37 #10
Jeg endte med at bruge spotguns løsning, så hvis du gider smide et svar? :) (undskylder den sene tilbagemelding)
Avatar billede Spotgun Seniormester
18. marts 2008 - 07:58 #11
Værsgo
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester