He estado probando la aplicación ASP.NET5 MVC6. En la versión anterior, había un directorio App_Data . Usé esta carpeta para almacenar registros de errores. Pero no se encuentra en la última versión. ¿Alguna ayuda?
Esto funciona para ASP.NET MVC con Core 2
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { // Use this code if you want the App_Data folder to be in wwwroot //string baseDir = env.WebRootPath; // Use this if you want App_Data off your project root folder string baseDir = env.ContentRootPath; AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(baseDir, "App_Data")); }Ahora puede poner este código donde lo necesite para obtener su carpeta App_Data
string dataDir = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();Creo que poner App_Data bajo wwwroot es una mala idea. Con asp.net 5 cuando publicamos/implementamos obtenemos 2 carpetas approot y wwwroot. Cualquier archivo que no vaya a ser atendido por solicitudes http no debe vivir bajo wwwroot. Sería mejor que las cosas que antes iban en la carpeta App_Data vivan en algún lugar bajo approot. Esta pregunta relacionada sobre cómo acceder a los archivos desde approot debería ser de ayuda.
El directorio App_Data todavía se puede usar en ASP.NET 5, solo que no se crea de forma predeterminada.
Créalo bajo wwwroot . Esta es la ruta devuelta por AppDomain.CurrentDomain.GetData("DataDirectory").ToString()
Si desea utilizar un DataDirectory diferente, debe llamar a SetData :
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) { string baseDir = appEnv.ApplicationBasePath; AppDomain.CurrentDomain.SetData("DataDirectory", Path.Combine(baseDir, "myAppData"));