2012-06-19 42 views
69

¿Qué debo hacer para que Server.MapPath funcione?
Tengo using System.Web;No se puede usar Server.MapPath

¿qué más? Cuando escribo Server no hay una opción de resultado rápido (intelli-sense) para Server.

¿Algún ayuda?

+1

Es necesario proporcionar más información. ¿Qué tipo de proyecto es este? ¿Por qué quieres ejecutar Server.MapPath? ¿Es este un proyecto de formularios web y estás escribiendo código en una subclase de página o en una función de renderizado de ASPX? – Dai

+0

C# Winforms ... quiero que verifique la disponibilidad del archivo en el servidor – a1204773

Respuesta

206

puede intentar utilizar este

System.Web.HttpContext.Current.Server.MapPath(path); 

o utilizar HostingEnvironment.MapPath

System.Web.Hosting.HostingEnvironment.MapPath(path); 
+1

Ellos no funcionan .. .. Error 1 El tipo o el nombre del espacio de nombres 'HttpContext' no existe en el espacio de nombres 'System.Web' (¿falta una referencia de ensamblado?) ... Error 2 El tipo o el nombre del espacio de nombres 'Hosting' no existe en el espacio de nombres 'System.Web' – a1204773

+0

parece que está usando winforms, es posible que desee ver este enlace y luego http://www.debugging.com/bug/18951 – DotNetUser

+5

'HostingEnvironment.MapPath' me funcionó –

13

Su proyecto debe hacer referencia al conjunto System.Web.dll. El servidor es un objeto del tipo HttpServerUtility. Ejemplo:

HttpContext.Current.Server.MapPath(path); 
+3

No encuentro esa referencia. Solo encontré estos dos: System.Web.ApplicationServices, System.Web.Services .... – a1204773

0

Trate de añadir System.Web como una referencia a su proyecto.

0

Firt agregar una referencia a System.web, si usted no tiene. Hazlo en la carpeta References.

A continuación, puede utilizar Hosting.HostingEnvironment.MapPath(path);

Cuestiones relacionadas