2011-02-18 71 views
30

estoy usando esta línea de código:Server.MapPath - Ruta física dada, ruta virtual espera

var files = Directory.GetFiles(Server.MapPath("E:\\ftproot\\sales")); 

para localizar los archivos en una carpeta sin embargo, me sale el mensaje de error que indica que

"Ruta de acceso física dada pero ruta virtual esperada".

Soy lo suficientemente nuevo como para utilizar System.IO en C#, por lo que me preguntaba si es posible introducir una ruta física para hacerlo.

Respuesta

61

si ya conoce su carpeta es: E: \ ftproot \ ventas entonces no necesitará utilizar Server.MapPath, es necesaria esta última si sólo tiene un camino virtual relativa como carpeta ~// carpeta1 y desea saber la ruta real en el disco ...

+0

gracias por eso, no era consciente. ¿Tiene alguna sugerencia sobre qué usaría? – 109221793

+0

depende, ¿por qué tiene E: \\ ftproot \\ ventas codificadas? si se soluciona y solo se hace GetFiles ("E: \\ ftproot \\ sales") ... de todos modos tendré esa ruta en el web.config para que no haya cadenas mágicas y sea más fácil cambiarla y encontrarla sin reconstruye ... –

+0

Gracias a @DavidePiras, esto es útil para mí;) –

5
var files = Directory.GetFiles(@"E:\ftproot\sales"); 
Cuestiones relacionadas