Percorso di un file xml in una dll da utilizzare in un progetto web

mercoledì 10 dicembre 2008 - 09.24

matteoc78 Profilo | Newbie

Scusate il titolo un po' lunghetto (sembra quello di un film della wertmuller).
Il mio problema è questo: ho fatto una dll (selettore.dll) che tramite la reflection istanzia a codice altre dll (che creano file xml da file txt), i parametri per chiamare queste dll sono dentro un file xml. Selettore.dll è utilizzata in un progetto web e quando richiamo il progetto da IE mi restituisce un errore dicendo che non trova il mio file xml.
Se in selettore.dll gli dico che il file xml è
Dim xmlDoc As String = My.Application.Info.DirectoryPath & "\var_selettore.xml"
lo cerca in 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\testdll\4f49313a\942790b1\assembly\dl3\495a5c14\2eca6e67_a05ac901\var_selettore.xml'
se gli dico che è
Dim xmlDoc As String = "var_selettore.xml"
lo cerca in 'C:\WINDOWS\system32\var_selettore.xml'
Mentre io lo vorrei nella bin a nella root del mio progetto.
Come posso fare?

Al momento ho risolto passando alla dll il percorso del file, ma non so se è la soluzione migliore.

Teo
http://www.rivieradeicesari.com

fustaman Profilo | Junior Member

Non so la sintassi VB ma in C# per ottenere il percorso giusto del file farei cosi:

HttpContext.Current.Server.MapPath("~/var_selettore.xml")


matteoc78 Profilo | Newbie

Ci avevo pensato anche io ma essendo una dll non eredita da Web.UI.Page.

fustaman Profilo | Junior Member

HttpContext non eredita da Page ma da System.Web, dovrebbe funzionare io non l'ho mai utilizzato in una dll esterna, ma lo utilizzo regolarmente nelle librerie di classi interne al progetto ma che appunto non ereditano dalla classe page.

Ti dovrebbe bastare includere System.web nella dll oppure richiamare l'oggetto con il percorso completo

System.Web.HttpContext.Current.Server.MapPath("percorsofile");

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5