Looking for asp.net-core Answers? Try Ask4KnowledgeBase
Looking for asp.net-core Keywords? Try Ask4Keywords

asp.net-coreEmpezando con asp.net-core


Observaciones

.NET Core es una plataforma de desarrollo de propósito general mantenida por Microsoft y la comunidad .NET en GitHub. Es multiplataforma, es compatible con Windows, macOS y Linux, y puede usarse en dispositivos, en la nube y en escenarios integrados / IoT.

Las siguientes características definen mejor .NET Core:

  • Implementación flexible: se puede incluir en su aplicación o puede instalarse de lado a lado en toda la máquina.
  • Multiplataforma: se ejecuta en Windows, macOS y Linux; Puede ser portado a otros sistemas operativos. Los sistemas operativos (OS), las CPU y los escenarios de aplicaciones compatibles crecerán con el tiempo, proporcionados por Microsoft, otras compañías y personas.
  • Herramientas de línea de comandos: todos los escenarios de productos se pueden ejercer en la línea de comandos.
  • Compatible: .NET Core es compatible con .NET Framework, Xamarin y Mono, a través de la biblioteca estándar de .NET.
  • Código abierto: la plataforma .NET Core es de código abierto, con licencias MIT y Apache 2. La documentación está licenciada bajo CC-BY. .NET Core es un proyecto de la Fundación .NET.
  • Compatible con Microsoft: .NET Core es compatible con Microsoft, por .NET Core Support

Versiones

Versión Notas de lanzamiento Fecha de lanzamiento
RC1 * 1.0.0-rc1 2015-11-18
RC2 * 1.0.0-rc2 2016-05-16
1.0.0 1.0.0 2016-06-27
1.0.1 1.0.1 2016-09-13
1.1 1.1 2016-11-16

Crear un nuevo proyecto desde la línea de comando.

Es posible crear un nuevo proyecto ASP.NET Core completamente desde la línea de comandos usando el comando dotnet .

dotnet new web
dotnet restore
dotnet run
 

dotnet new web andamios un nuevo proyecto web "vacío". El parámetro web le dice a la herramienta dotnet que use la plantilla ASP.NET Core Empty . Use dotnet new -all para mostrar todas las plantillas disponibles actualmente instaladas. Otras plantillas clave incluyen console , classlib , mvc y xunit .

Una vez que la plantilla se ha distribuido, puede restaurar los paquetes necesarios para ejecutar el proyecto ( dotnet restore ), y compilarlo e iniciarlo ( dotnet run ).

Una vez que el proyecto esté en ejecución, estará disponible en el puerto predeterminado: http: // localhost: 5000

Instalación y configuración

Instalando Visual Studio

Si no tiene instalado Visual Studio, puede descargar la Edición de comunidad de Visual Studio gratis aquí . Si ya lo tiene instalado, puede continuar con el siguiente paso.

Creando una aplicación ASP.NET Core MVC.

  1. Abra Visual Studio.
  2. Seleccione Archivo> Nuevo proyecto.
  3. Seleccione Web en el idioma de su elección dentro de la sección Plantillas a la izquierda.
  4. Elija un tipo de proyecto preferido dentro del diálogo.
  5. Opcional: elija un .NET Framework al que le gustaría apuntar
  6. Nombre su proyecto e indique si desea crear una solución para el proyecto.
  7. Haga clic en Aceptar para crear el proyecto.

introduzca la descripción de la imagen aquí

Se le presentará otro cuadro de diálogo para seleccionar la plantilla que desea utilizar para el proyecto:

introduzca la descripción de la imagen aquí

Cada una de las descripciones se explica por sí misma. Para este primer proyecto, seleccione Aplicación Web , que contendrá todas las configuraciones predeterminadas, la autenticación y algunos contenidos existentes.

Dado que se trata de una aplicación de introducción y no requiere seguridad ni autenticación, puede cambiar la opción de autenticación a Sin autenticación en el lado derecho del cuadro de diálogo y hacer clic en Aceptar para crear el proyecto .

Entonces debería ver el nuevo proyecto dentro del Explorador de soluciones:

introduzca la descripción de la imagen aquí

Presione la tecla F5 para ejecutar la aplicación y comenzar una sesión de depuración, que iniciará la aplicación dentro de su navegador predeterminado:

introduzca la descripción de la imagen aquí

Ahora puede ver que su proyecto está funcionando y funcionando localmente y está listo como un punto de partida para que construya su aplicación.

API web principal de ASP.NET mínima con ASP.NET Core MVC

Con ASP.NET Core 1.0, el marco MVC y la API web se fusionaron en un marco denominado ASP.NET Core MVC. Esto es bueno, ya que MVC y la API web comparten muchas funcionalidades, pero siempre hubo diferencias sutiles y duplicación de código.

Sin embargo, la combinación de estos dos en el marco uno también hizo más difícil distinguir uno de otro. Por ejemplo, Microsoft.AspNet.WebApi representa el marco de trabajo de la API web 5.xx, no el nuevo. Pero, cuando incluye Microsoft.AspNetCore.Mvc (versión 1.0.0 ), obtiene el paquete completo. Esto contendrá todas las características listas para usar que ofrece el marco MVC. Tales como Razor, tag helpers y modelos de enlace.

Cuando solo desea crear una API web, no necesitamos todas estas características. Entonces, ¿cómo construimos una API web minimalista? La respuesta es: Microsoft.AspNetCore.Mvc.Core . En el nuevo mundo, MVC se divide en varios paquetes y este paquete contiene solo los componentes centrales del marco MVC, como el enrutamiento y la autorización.

Para este ejemplo, vamos a crear una API de MVC mínima. Incluyendo un formateador JSON y CORS. Cree una aplicación web ASP.NET Core 1.0 vacía y agregue estos paquetes a su project.json:

"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
 

Ahora podemos registrar MVC usando AddMvcCore() en la clase de inicio:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddCors()
            .AddJsonFormatters();
}
 

AddMvcCore devuelve una instancia de IMvcCoreBuilder que permite la construcción posterior. La configuración del middleware es la misma que la habitual:

public void Configure(IApplicationBuilder app)
{
    app.UseCors(policy =>
    {
        policy.AllowAnyOrigin();
    });
    app.UseMvc();
}
 

Controladores

La API web 'antigua' viene con su propia clase base de controlador: ApiController . En el nuevo mundo no existe tal cosa, solo la clase predeterminada del Controller . Desafortunadamente, esta es una clase base bastante grande y está vinculada al modelado de enlaces, vistas y JSON.NET.

Afortunadamente, en el nuevo marco, las clases del controlador no tienen que derivar del Controller para ser recogidas por el mecanismo de enrutamiento. Basta con añadir el nombre con el Controller . Esto nos permite construir nuestra propia clase base de controlador. Llamémoslo ApiController , solo por los viejos tiempos:

/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
    [ActionContext]
    public ActionContext ActionContext { get; set; }

    public HttpContext HttpContext => ActionContext?.HttpContext;

    public HttpRequest Request => ActionContext?.HttpContext?.Request;

    public HttpResponse Response => ActionContext?.HttpContext?.Response;

    public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}
 

El atributo [Controller] indica que el mecanismo de descubrimiento predeterminado del controlador considera el tipo o cualquier tipo derivado. El atributo [ActionContext] especifica que la propiedad debe establecerse con el ActionContext actual cuando MVC crea el controlador. El ActionContext proporciona información sobre la solicitud actual.

ASP.NET Core MVC también ofrece una clase ControllerBase que proporciona una clase base de controlador simplemente sin compatibilidad con vistas. Aún así es mucho más grande que el nuestro. Úsalo si lo encuentras conveniente.

Conclusión

Ahora podemos crear una API web mínima utilizando el nuevo marco ASP.NET Core MVC. La estructura modular del paquete nos permite simplemente jalar los paquetes que necesitamos y crear una aplicación simple y eficiente.

Configuración de la variable de entorno en ASP.NET Core [Windows]

=> Mensaje original <=

ASP.NET Core utiliza la variable de entorno ASPNETCORE_ENVIRONMENT para determinar el entorno actual. De forma predeterminada, si ejecuta su aplicación sin establecer este valor, se establecerá automáticamente el valor predeterminado para el entorno de Production .

> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production  
Content root path: C:\Projects\TestApp  
Now listening on: http://localhost:5000  
Application started. Press Ctrl+C to shut down. 
 

Configurando la variable de entorno en Windows

En la linea de comando

Puede configurar fácilmente una variable de entorno desde un símbolo del sistema utilizando el comando setx.exe incluido en Windows. Puedes usarlo para establecer fácilmente una variable de usuario:

>setx ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.
 

Tenga en cuenta que la variable de entorno no está configurada en la ventana abierta actual. Deberá abrir un nuevo símbolo del sistema para ver el entorno actualizado. También es posible establecer variables del sistema (en lugar de solo variables de usuario) si abre un símbolo del sistema administrativo y agrega el modificador / M:

>setx ASPNETCORE_ENVIRONMENT "Development" /M

SUCCESS: Specified value was saved.
 

Usando PowerShell Alternativamente, puede usar PowerShell para establecer la variable. En PowerShell, así como en las variables normales del usuario y del sistema, también puede crear una variable temporal usando el comando $Env: :

$Env:ASPNETCORE_ENVIRONMENT = "Development"
 

La variable creada dura solo durante la duración de su sesión de PowerShell: una vez que cierra la ventana, el entorno vuelve a su valor predeterminado.

Alternativamente, puede configurar las variables de entorno del usuario o del sistema directamente. Este método no cambia las variables de entorno en la sesión actual, por lo que tendrá que abrir una nueva ventana de PowerShell para ver sus cambios. Como antes, cambiar las variables del sistema (Máquina) requerirá acceso administrativo

[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
 

Uso del panel de control de Windows Si no es un fanático de la línea de comandos, puede actualizar fácilmente sus variables con el mouse. Haga clic en el botón del menú de inicio de Windows (o presione la tecla de Windows), busque environment variables y elija Editar entorno variables para su cuenta: introduzca la descripción de la imagen aquí

Al seleccionar esta opción, se abrirá el cuadro de diálogo Propiedades del sistema. introduzca la descripción de la imagen aquí

Haga clic en Variables de entorno para ver la lista de variables de entorno actuales en su sistema. introduzca la descripción de la imagen aquí

Suponiendo que no tiene una variable llamada ASPNETCORE_ENVIRONMENT , haga clic en el botón Nuevo ... y agregue una nueva variable de entorno de cuenta: introduzca la descripción de la imagen aquí Haga clic en Aceptar para guardar todos los cambios. Deberá volver a abrir las ventanas de comandos para asegurarse de que se carguen las nuevas variables de entorno.

Usando el código de Visual Studio para desarrollar la aplicación principal de plataforma de plataforma aspnet

Con AspNetCore puede desarrollar la aplicación en cualquier plataforma, incluyendo Mac, Linux, Window y Docker.

Instalación y configuración

  1. Instale Visual Studio Code desde aquí
  2. Añadir C # extesnion
  3. Instalar dot net core sdk. Puedes instalar desde aquí

Ahora tienes todas las herramientas disponibles. Para desarrollar la aplicación. Ahora necesitas alguna opción de andamios. Para eso debes considerar usar Yeoman. Para instalar Yeoman

  1. Instale NPM. Para esto necesitas Node en tu máquina. Instalar desde aqui

  2. Instala Yeoman usando NPM

    npm install -g yo

  3. Ahora instale el generador de aspnet

    npm instalar -g generador-aspnet

Ahora tenemos toda la configuración en su máquina. Primero creamos un nuevo proyecto con el comando básico DotNetCore y luego creamos un nuevo proyecto usando Yo.

Nuevo proyecto usando línea de comando

  1. Crear una nueva carpeta de proyectos

    mkdir CoreApplication cd CoreApplication

  2. Scaffold un proyecto dotnet muy básico usando la opción de línea de comando predeterminada

    dotnet Nuevo

Nuevo proyecto

  1. Restaura los paquetes y ejecuta la aplicación.

    dotNet restaurar dotnet ejecutar introduzca la descripción de la imagen aquí

Utilice Yeoman como opción de andamios

Crear carpeta de proyectos y ejecutar el comando yo

yo aspnet
 

Yeoman le pedirá algunas entradas como Tipo de proyecto, Nombre del proyecto, etc.

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

Ahora restaure los paquetes ejecutando el comando de restauración de dotnet y ejecute la aplicación

Usa VS Code para desarrollar la aplicación

Ejecutar el código de estudio visual como introduzca la descripción de la imagen aquí

Ahora abre los archivos y ejecuta la aplicación. También puede buscar la extensión para su ayuda.