Un repositorio para el proyecto ASP.NET Core PluralSight.
Las siguientes son notas y preguntas frecuentes adicionales sobre el curso.
La versión original del código como se registra en el curso PluralSight es con ASP.NET Core 2.1. He colocado este código en una rama llamada ASPNET21.
La rama maestra que estoy actualizando para usar ASP.NET Core 3 y las últimas versiones de Bootstrap y JQuery.
Para crear, construir y ejecutar un proyecto como lo hacemos en Visual Studio, puede usar la línea de comando:
dotnet new razor
dotnet build
dotnet run
Algunos entornos, como Visual Studio Code, también pueden detectar proyectos de .NET Core y agregar automáticamente soporte para construir y ejecutar desde los menús VS Code.
VS usa algo de magia para reiniciar automáticamente el servidor web cuando realiza cambios en los archivos del código fuente. Si está utilizando herramientas de línea de comandos, puede hacer lo mismo usando:
dotnet watch run
... en lugar de ...
dotnet run
Puede usar dotnet para crear la biblioteca de clases. Coloque esto en el mismo nivel de carpeta que el proyecto Odetofood.
dotnet new classlib
Bootstrap 4 cambió algunas clases y ya no incluye glificones. Font Awesome es un buen reemplazo. Una vez que haya incluido la hoja de estilo impresionante de la fuente en su página _Layout con una etiqueta de enlace, los iconos son igual de fáciles de usar. Para mostrar un icono de búsqueda, use este código:
<input type="search" class="form-control" value="" />
<div class="input-group-append">
<button class="btn btn-secondary">
<i class="fas fa-search"></i>
</button>
</div>
Tenga en cuenta que Bootstrap versión 4 ya no proporciona iconos fuera de la caja. Vea los documentos para obtener más información. Font Awesome es un buen reemplazo.
Deberá instalar el paquete nuget dotnet-aspnet-codegenerator. Instale este paquete como una herramienta desde la línea Comamnd y también instale el paquete de diseño para el proyecto:
dotnet tool install --global dotnet-aspnet-codegenerator
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
Después de instalar, el siguiente comando debe mostrar una pantalla de ayuda y una lista de generadores disponibles. Asegúrese de ejecutar el comando dentro de un directorio donde existe un proyecto.
dotnet aspnet-codegenerator -h
Ahora debería poder seguir el andamio en el video.
dotnet aspnet-codegenerator razorpage List Empty -udl -outDir PagesRestaurants
Para los usuarios de Visual Studio, es posible que también desee una referencia a las herramientas de codegeneración que puede usar desde la interfaz de usuario. Ejecute el siguiente comando en el directorio del proyecto:
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet restore
Esto le permitirá hacer clic con el botón derecho en el proyecto y ejecutar andamios. s
Consulte Instalar SQL Server en una Mac si se está moviendo a través del curso usando Visual Studio para la Mac. Del usuario db:
Una vez instalado, tome nota del nombre de usuario de su base de datos (generalmente 'SA') y contraseña.
Es muy suave. Estoy usando DBBeaver, que también se explica en el artículo anterior y lo encuentro genial.
Después de la clase de Scott aquí, donde establece la cadena de conexión de la base de datos en
appsettings.jsonen su instancia de DB local en Windows, puede usar esta cadena de conexión:
"ConnectionStrings" : {
"OdeToFoodDb" : " Server=localhost,1433;Database=OdeToFood;User Id=sa; Password=your-password "
}, luego reemplace 'Your-Password' con su contraseña real que elija al instalar la imagen de SQL Server en Docker Container.
Es una experiencia muy simple y suave.
A partir de 3.0, la herramienta de línea de comandos Dotnet EF ya no está incluida en el SDK .NET Core. Antes de poder ejecutar comandos de migración o andamio de Core EF, tendrá que instalar este paquete como una herramienta global o local. Para instalar la última versión como una herramienta global, use el siguiente comando:
dotnet tool install --global dotnet-ef
Si no está utilizando Visual Studio, el andamio que se muestra en este clip es algo que también puede lograr con la herramienta dotnet-aspnet-codegenerator discutida en el Módulo 3. El comando se vería como:
dotnet aspnet-codegenerator controller -api -name RestaurantsController
--model OdeToFood.Core.Restaurant --dataContext OdeToFood.Data.OdeToFoodDbContext
Tenga en cuenta que el interruptor -api usa un solo tablero.
En ASP.NET Core 3.0+, puede traer servicios de grano fino para admitir páginas y controladores de afeitar. No necesita traer todo el marco MVC. Para usar páginas de afeitar y controladores API, por ejemplo, necesitaría tener las siguientes dos llamadas de método dentro del método ConfigureServices de Startup.cs .
// for aspnetcore3.0+
services.AddRazorPages();
services.AddControllers();
El enrutamiento también es un poco diferente y más granular en 3.0. Deberá el siguiente código en la parte inferior del método Configure en Startup.cs para 3.x:
app.UseRouting();
app.UseEndpoints(e =>
{
e.MapRazorPages();
e.MapControllers();
});
https://github.com/odetocode/odetofood