none
Archivos de configuración y ASPNETCORE_ENVIRONMENT RRS feed

  • Question

  • Buenas,

    Estoy tratando de comprender cómo funciona esto de la configuración según el ambiente.

    Tengo los siguientes archivos de configuración:

    Cada uno contiene una ConnectionString con el mismo nombre pero apuntando a distintas instancias de Sql Server. Por otro lado, en las propiedades del proyecto tengo lo siguiente:

    Sin embargo al momento de ejecutar una migración de EF Core, está tomando la cadena de conexión del archivo appsettings.Production.json y lo que deseo es que tome la cadena del archivo Develpment.

    Por favor si me orientan, muchas gracias.



    • Edited by eduar2083 Friday, January 17, 2020 12:45 PM
    Friday, January 17, 2020 12:43 PM

All replies

  • hola

    >>Sin embargo al momento de ejecutar una migración de EF Core, está tomando la cadena de conexión del archivo appsettings.Production.json

    No entiendo porque te esta aplicando migrations cuando ejecutas la app desde el VS, se supone que migrations lo ejecutes desde los comandos desde la "Package Manager Console" usando Add-Migration, Update-Database, etc

    EF Migrations

    en ejecucion el DbContext deberia tomar el connection string de la configuracion, pero deberia conectarse unicamente no aplicar migrations

    EF Core Connection Strings

    como veras usa

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<BloggingContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase")));
    }

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Friday, January 17, 2020 1:09 PM
  • Hola Leandro,

    No estoy ejecutando la app; estoy ejecutando una migración (Update-Database) desde el Package Manager Console y el problema que tengo es que los cambios se aplican en la Base de Datos indicada en el archivo appsettings.Production.json y lo que pretendo es que se apliquen en la Base de Datos indicada en el archivo appsetting.Development.json.

    La configuración en Startup.ConfigureServices ya está realizada correctamente.

    Saludos.


    • Edited by eduar2083 Friday, January 17, 2020 1:37 PM
    Friday, January 17, 2020 1:36 PM
  • hola

    >>No estoy ejecutando la app; estoy ejecutando una migración (Update-Database) desde el Package Manager Console

    pero entonces eso del enviroment develop que explicaste no aplica, eso solo se define al ejecutar

    estas seguro que toma production? que pasa si defines un connection string invalido en production, pero deja uno valido en appsettings.json

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Friday, January 17, 2020 4:11 PM
  • Hola,

    Al parecer he tenido una cadena inválida en el archivo appsettings develop y me estaba tomando la de Prod, no estoy seguro que ese haya sido el problema pero ahora ya está funcionando adecuadamente.

    Estoy realizando unas pruebas y me doy de lo siguiente:

    - Cuando se trabaja con un servidor de desarrollo como IIS Express el ambiente puede definirse a través de la variable de Entorno ASPNETCORE_ENVIRONMENT, sin embargo si esta variable se configura a nivel de la aplicación, es decir, en el archivo launchSettings.json para el perfil correspondiente a IIS Express, utilizará el valor de dicha variable independientemente del valor que tuviera la variable a nivel de sistema.

    - Esto no ocurre cuando publico en IIS de mi equipo, siempre la variable ASPNETCORE_ENVIRONMENT tiene el valor Production, independientemente del valor que tuviera la variable de entorno a nivel de sistema o a nivel de aplicación.

    ¿Es correcto lo que menciono?



    • Edited by eduar2083 Saturday, January 18, 2020 12:30 PM
    Saturday, January 18, 2020 12:30 PM
  • hola

    >>Esto no ocurre cuando publico en IIS de mi equipo, siempre la variable ASPNETCORE_ENVIRONMENT tiene el valor Production,

    No, esta variable de entorno la puedes configurar en windows o en el web.config

    Appsettings con Environment en .NET Core

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Monday, January 20, 2020 4:28 AM