2011-04-08 8 views

Respuesta

26

De asp.net es simple:

Server.MapPath("~/App_Data");//anywhere 
+1

Excepto que a veces no lo es. Los sitios web desplegados a menudo tienen su App_Data en '~/bin/App_Data', pero usan' ~/App_Data' localmente. El uso de la sustitución '| DataDirectory |' se rompe en estos casos. Consulte http://stackoverflow.com/questions/18706945/datadirectory-returns-wrong-path-to-appdata-folder –

+0

@CharlesBurns corregido, consulte su pregunta – Roland

+0

Lo estoy haciendo en alguna clase cs y el objeto Servidor era dando problemas HttpContext.Current.Server lo hizo funcionar. –

7

otra manera es:

AppDomain.CurrentDomain.GetData("DataDirectory"); 
+1

Esto no está documentado en MSDN, así que no recomendaría usar este – Hoppe

+1

@Hoppe Pero lo uso y funcionó para mí –

3

String base = AppDomain.CurrentDomain.BaseDirectory; // El uso de código anterior, obtendrá directorio base de sus aplicaciones. String pathToData_App = base + "/App_Data/SqLite.db";

El código anterior funciona para mí.

2

que necesitaba para ejecutar secuencias de comandos para ELMAH AppData lo que se utiliza este

var elmahScript = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "ELMAH-1.2-db-SQLServer.sql"); 
Cuestiones relacionadas