<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: JJ Orozco López</title>
    <description>The latest articles on DEV Community by JJ Orozco López (@jjorozcodev).</description>
    <link>https://dev.to/jjorozcodev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F728121%2Fdf9d2968-8ce2-4587-a772-f5ef7af41a09.png</url>
      <title>DEV Community: JJ Orozco López</title>
      <link>https://dev.to/jjorozcodev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jjorozcodev"/>
    <language>en</language>
    <item>
      <title>Visual Studio Code con .NET 7 y C# 11</title>
      <dc:creator>JJ Orozco López</dc:creator>
      <pubDate>Tue, 08 Nov 2022 20:35:30 +0000</pubDate>
      <link>https://dev.to/jjorozcodev/visual-studio-code-con-net-7-y-c-11-gli</link>
      <guid>https://dev.to/jjorozcodev/visual-studio-code-con-net-7-y-c-11-gli</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthurrott.s3.amazonaws.com%2Fwp-content%2Fuploads%2Fsites%2F2%2F2022%2F11%2Fdot-net.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthurrott.s3.amazonaws.com%2Fwp-content%2Fuploads%2Fsites%2F2%2F2022%2F11%2Fdot-net.jpg" alt=".NET 7 + C# 11" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  .NET 7 + C# 11
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dotnet.microsoft.com/en-us/download/dotnet/7.0" rel="noopener noreferrer"&gt;.NET 7&lt;/a&gt; se enfoca en ser unificado, moderno, simple y rápido.&lt;/p&gt;

&lt;p&gt;La nueva versión incluye mejoras de rendimiento general, nuevas herramientas para el desarrollo multiplataforma, así como actualizaciones para ASP.NET Core y el desarrollo nativo en la nube.&lt;/p&gt;

&lt;p&gt;Lanzado oficialmente durante &lt;a href="https://www.dotnetconf.net/agenda" rel="noopener noreferrer"&gt;.NET Conf 2022&lt;/a&gt;, será compatible durante 18 meses de acuerdo a su versión de soporte estándar (STS).&lt;/p&gt;

&lt;p&gt;El ecosistema de .NET 7 incluye además la actualización del lenguaje C# 11, cuyas novedades permiten reducir la cantidad de código que se necesita escribir.&lt;/p&gt;

&lt;p&gt;Cabe señalar que si queremos utilizar .NET 7 con Visual Studio, ésta versión &lt;u&gt;sólo es compatible&lt;/u&gt; con Visual Studio 2022 v17.4 o posterior.&lt;/p&gt;

&lt;h2&gt;
  
  
  VS Code con el poder de .NET 7  y C# 11
&lt;/h2&gt;

&lt;p&gt;La buena noticia es que: .NET 7 es compatible con Visual Studio Code gracias a .NET SDK y a la extensión C# que tenemos a disposición para este editor de código. Es decir, podremos desarrollar, compilar y ejecutar aplicaciones en .NET 7 y C# 11 desde VS Code.&lt;/p&gt;

&lt;p&gt;Importante destacar que al disponer de .NET 7 y C# 11, contaríamos además de todas las características introducidas en versiones anteriores del lenguaje, entre las que destacan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instrucciones de nivel superior&lt;/li&gt;
&lt;li&gt;Filtros de excepciones&lt;/li&gt;
&lt;li&gt;Interpolación de cadenas&lt;/li&gt;
&lt;li&gt;Coincidencia de patrones&lt;/li&gt;
&lt;li&gt;Deconstrucción de Tuplas&lt;/li&gt;
&lt;li&gt;Funciones locales&lt;/li&gt;
&lt;li&gt;Expresión 'switch'&lt;/li&gt;
&lt;li&gt;Registros y estructuras de registros&lt;/li&gt;
&lt;li&gt;Patrones de propiedades extendidos&lt;/li&gt;
&lt;li&gt;Directivas 'global using'&lt;/li&gt;
&lt;li&gt;Atributos genéricos&lt;/li&gt;
&lt;li&gt;Patrones de listas&lt;/li&gt;
&lt;li&gt;Filtros de minimal APIs&lt;/li&gt;
&lt;li&gt;Literales de cadena sin formato&lt;/li&gt;
&lt;li&gt;etc...&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Preparación de entorno .NET con VS Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Instalar VS Code&lt;/strong&gt;&lt;br&gt;
Necesitamos descargar la última versión disponible desde el siguiente enlace: &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;https://code.visualstudio.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwi5bt7pic75fwksiivg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwi5bt7pic75fwksiivg.png" alt="Download Visual Studio Code" width="800" height="442"&gt;&lt;/a&gt;&lt;br&gt;
Tendremos a disposición los archivos de instalación para sistemas operativos Windows, Linux y macOS.&lt;/p&gt;

&lt;p&gt;Una vez descargados, iniciamos el proceso de instalación, el cual una vez se haya completado nos permitirá ejecutar VS Code:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbq3fnint2kcs4j52xq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbq3fnint2kcs4j52xq4.png" alt="VS Code en Español" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Instalar .NET SDK 7.0&lt;/strong&gt;&lt;br&gt;
Podemos descargar el kit de desarrollo de software de .NET en su versión 7.0 desde el siguiente enlace: &lt;a href="https://dotnet.microsoft.com/en-us/download/dotnet/7.0" rel="noopener noreferrer"&gt;https://dotnet.microsoft.com/en-us/download/dotnet/7.0&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdbxsizymof7hssm6xqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdbxsizymof7hssm6xqd.png" alt="Download .NET 7.0" width="800" height="310"&gt;&lt;/a&gt;&lt;br&gt;
Contaremos con los archivos de instalación para sistemas operativos Windows, Linux y macOS, así como información de compatibilidad y soporte:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6xdsv1p307c9z601n0j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6xdsv1p307c9z601n0j.png" alt="Compatibilidad y soporte SDK 7.0" width="541" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Una vez finalizada la descarga del instalador, se procede a ejecutar el archivo:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4au9ipd3rnxh67e15zhu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4au9ipd3rnxh67e15zhu.png" alt="Instalador .NET SDK 7.0" width="642" height="476"&gt;&lt;/a&gt;&lt;br&gt;
Iniciamos el proceso de instalación, y esperamos hasta que se haya completado:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbug1623b8yjt1b2fj0m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbug1623b8yjt1b2fj0m.png" alt=".NET 7.0.100 instalado correctamente" width="639" height="472"&gt;&lt;/a&gt;&lt;br&gt;
Podemos confirmar la instalación ejecutando los siguientes comandos desde CMD o PowerShell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet --list-sdks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet --list-runtimes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5woih906d6rmht7swpr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5woih906d6rmht7swpr.png" alt="Verificando instalación de NET SDK 7.0" width="690" height="148"&gt;&lt;/a&gt;&lt;br&gt;
O bien, podemos verificar desde la terminal integrada en VS Code:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkso8fefnjpu1wv8quomk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkso8fefnjpu1wv8quomk.png" alt="Terminal de VS Code" width="790" height="251"&gt;&lt;/a&gt;&lt;br&gt;
Accedemos a ella clicando en el menú "Terminal" opción "Nueva Terminal":&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkru0orjpvgclu2lu9xy2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkru0orjpvgclu2lu9xy2.png" alt="VS Code - Nuevo Terminal" width="413" height="88"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Instalar extensión C#&lt;/strong&gt;&lt;br&gt;
El último paso consiste en instalar la extensión C# en nuestro VS Code, clicando en la sección de extensiones podemos realizar la búsqueda del plugin:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfmmxoar9o7zxrvwhth4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfmmxoar9o7zxrvwhth4.png" alt="C# para Visual Studio Code" width="800" height="431"&gt;&lt;/a&gt;&lt;br&gt;
Dicha extensión C#, mantenida por &lt;a href="http://www.omnisharp.net/" rel="noopener noreferrer"&gt;OmniSharp&lt;/a&gt;, nos permite integrar herramientas de desarrollo ligeras para .NET con gran compatibilidad para la edición de código C# y soporte de características como resaltado de sintaxis, intelliSense, búsqueda de referencias, ir a definición, etc:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flg1w8ifnffypjidmomaf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flg1w8ifnffypjidmomaf.png" alt="C# extension intelliSense" width="242" height="269"&gt;&lt;/a&gt;&lt;br&gt;
Simplemente clicamos en el botón "Instalar" y esperamos a que la extensión sea agregada a nuestro VS Code:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwd24qy1o7zuzxe37c84g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwd24qy1o7zuzxe37c84g.png" alt="C# soporte de lenguaje en VS Code" width="600" height="200"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Ejecutando aplicaciones .NET 7 en VS Code
&lt;/h2&gt;

&lt;p&gt;¡Listo!... Ya podemos desarrollar, compilar y ejecutar código con .NET 7 y C# 11 desde nuestro VS Code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creando una aplicación de consola&lt;/strong&gt;&lt;br&gt;
Para crear una aplicación de consola desde nuestro VS Code, debemos abrir una nueva terminal y ejecutar el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet new console
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqlnnsziie6cvf8c3ogb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwqlnnsziie6cvf8c3ogb.png" alt="dotnet new console" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Éste comando indica la creación de un nuevo proyecto de tipo consola a partir de las plantillas disponibles en el .NET SDK.&lt;br&gt;
Si lo deseamos, podemos navegar en los archivos que conforman el código fuente de nuestra aplicación mediante el explorador de VS Code:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfltiuxg07gnw7d2mxlo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfltiuxg07gnw7d2mxlo.png" alt="Explorador de VS Code" width="800" height="179"&gt;&lt;/a&gt;&lt;br&gt;
Podemos observar que la definición del proyecto especifíca que fue creado para la versión 7.0 de .NET&lt;br&gt;
Si queremos ejecutar la aplicación, desde nuestra terminal integrada debemos ejecutar el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcuarqhu0o3izusrw589.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcuarqhu0o3izusrw589.png" alt="dotnet run Hello, World!" width="378" height="96"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creando una aplicación web MVC&lt;/strong&gt;&lt;br&gt;
Si queremos crear una aplicación web con el patrón MVC, desde nuestra terminal ejecutamos el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet new mvc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuojokar68w8qwvdooihw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuojokar68w8qwvdooihw.png" alt="dotnet new mvc" width="800" height="291"&gt;&lt;/a&gt;&lt;br&gt;
Podemos explorar los archivos generados en VS Code para esta plantilla del SDK, así como la definición del proyecto:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8bl1qmgwad7lfqncfzqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8bl1qmgwad7lfqncfzqs.png" alt="Explorando proyecto MVC" width="800" height="218"&gt;&lt;/a&gt;&lt;br&gt;
Ejecutemos nuevamente el comando &lt;code&gt;dotnet run&lt;/code&gt; desde nuestra terminal integrada para compilar y ejecutar la aplicación web:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fobmb9hp9pploe75l9pn6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fobmb9hp9pploe75l9pn6.png" alt="dotnet run aspnet-mvc-project" width="391" height="229"&gt;&lt;/a&gt;&lt;br&gt;
Podemos validar en nuestro navegador que nuestra aplicación web está corriendo sin problemas:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00xgdbuv0mxushuxl6o8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00xgdbuv0mxushuxl6o8.png" alt="asp mvc running" width="524" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Plantillas y más plantillas del .NET SDK&lt;/strong&gt;&lt;br&gt;
Finalmente si queremos explorar con otras plantillas disponibles en el SDK de .NET 7, podemos visualizar la lista completa ejecutando el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dotnet new list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf7ju9sd394nsusfwpou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf7ju9sd394nsusfwpou.png" alt="dotnet new list" width="800" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Recursos Útiles
&lt;/h2&gt;

&lt;p&gt;Si quieres ahondar sobre las novedades de .NET 7 y C# 11:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/es-mx/dotnet/core/whats-new/dotnet-7" rel="noopener noreferrer"&gt;¿Qué hay de nuevo en .NET 7?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/es-mx/dotnet/csharp/whats-new/csharp-11" rel="noopener noreferrer"&gt;¿Qué hay de nuevo en C# 11?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Más información sobre el soporte de C# en Visual Studio Code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/Docs/languages/csharp" rel="noopener noreferrer"&gt;VS Code - C# language support&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Más información sobre OmniSharp y compatibilidad de la extensión C# para VS Code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/OmniSharp/omnisharp-vscode" rel="noopener noreferrer"&gt;Repositorio GitHub de OmniSharp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp" rel="noopener noreferrer"&gt;Marketplace - C# para Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ¿Tienes algún comentario?
&lt;/h2&gt;

&lt;p&gt;Gracias por tu tiempo, espero éste artículo te haya resultado útil. Si tienes comentarios, por favor compártelos. 😉&lt;br&gt;
&lt;em&gt;Te invito a seguirme en &lt;a href="https://twitter.com/jjorozcodev" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; y/o contactarme en &lt;a href="https://www.linkedin.com/in/jjorozcodev/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>dotnet</category>
      <category>csharp</category>
      <category>programming</category>
    </item>
    <item>
      <title>Elasticsearch.Net vs NEST</title>
      <dc:creator>JJ Orozco López</dc:creator>
      <pubDate>Wed, 02 Nov 2022 00:34:27 +0000</pubDate>
      <link>https://dev.to/jjorozcodev/elasticsearchnet-vs-nest-465</link>
      <guid>https://dev.to/jjorozcodev/elasticsearchnet-vs-nest-465</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F38b3yh3zbfmxha2pyne3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F38b3yh3zbfmxha2pyne3.png" alt="ELK Stack: Kibana, Elasticsearch, Beats, Logstash" width="520" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué es Elasticsearch?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.elastic.co/es/what-is/elasticsearch" rel="noopener noreferrer"&gt;Elasticsearch&lt;/a&gt; es un motor de búsqueda y analítica distribuido, gratuito y abierto para todos los tipos de datos, incluidos textuales, numéricos, geoespaciales, estructurados y no estructurados.&lt;/p&gt;

&lt;p&gt;Conocido por sus API REST simples, naturaleza distribuida, velocidad y escalabilidad, Elasticsearch es el componente principal del Elastic Stack, un conjunto de herramientas gratuitas y abiertas para la ingesta, el enriquecimiento, el almacenamiento, el análisis y la visualización de datos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Elasticsearch en proyectos .NET
&lt;/h2&gt;

&lt;p&gt;Si nuestro propósito es interactuar con motores de búsqueda de texto completo de Elasticsearch desde nuestras aplicaciones en .NET, podemos disponer de los dos clientes oficiales de Elastic y su comunidad:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Elasticsearch.Net&lt;/strong&gt; &amp;gt; Cliente de bajo nivel, libre de dependencias, permite interactuar directamente con el Elasticsearch API a través de métodos, además provee de mecanismos de reintento&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NEST&lt;/strong&gt; &amp;gt; Cliente de alto nivel, con un nivel de abstracción mayor permitiendo consultas fuertemente tipadas mediante Query DSL. Internamente usa y expone al cliente de Elasticsearch.Net&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Instalación desde Visual Studio
&lt;/h2&gt;

&lt;p&gt;Disponemos de dos vías para instalar ambos clientes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Desde la &lt;em&gt;Consola del Administrador de Paquetes&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Desplegando el menú "Herramientas" en Visual Studio:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7c2ju94sqvk6iphyp18.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7c2ju94sqvk6iphyp18.png" alt="Package Manager Console" width="612" height="226"&gt;&lt;/a&gt;&lt;br&gt;
Comando para cliente Elasticsearch.Net:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PM&amp;gt; Install-Package Elasticsearch.Net
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Comando para cliente NEST:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PM&amp;gt; Install-Package NEST
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Desde la &lt;em&gt;interfaz de usuario del administrador de paquetes NuGet&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Click derecho sobre el proyecto o bien sobre la solución, y seleccionando en el menú contextual:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnxj6pp3qu4p15400qw4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsnxj6pp3qu4p15400qw4.png" alt="Manage NuGet Package" width="223" height="46"&gt;&lt;/a&gt;&lt;br&gt;
Posterior podemos usar el buscador para seleccionar e instalar los paquetes NuGet correspondientes:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfiyfmo2rzlaosiphubm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfiyfmo2rzlaosiphubm.png" alt="NuGet Package Manager - Browser" width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Versión 8.x Prerelease
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANTE:&lt;/strong&gt; &lt;em&gt;La versión 7.17 se corresponde al último release estable de estos dos clientes oficiales para .NET, a partir de la versión 8.x se desarrolla un único cliente llamado &lt;u&gt;Cliente .NET para Elasticsearch&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Aunque la versión 8.x se encuentra actualmente en versión prerelease, desde Visual Studio podemos instalarlo de la siguiente manera:&lt;br&gt;
&lt;strong&gt;Desde la &lt;em&gt;Consola del Administrador de Paquetes&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Utilizando el siguiente comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PM&amp;gt; Install-Package Elastic.Clients.Elasticsearch -IncludePrerelease
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Desde la &lt;em&gt;interfaz de usuario del administrador de paquetes NuGet&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Utilizando el buscador e incluyendo versiones prerelease:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57uc5q1kz4rdp8irz6ch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57uc5q1kz4rdp8irz6ch.png" alt="Elastic.Clients.Elasticsearch version 8.x" width="800" height="167"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Recursos útiles
&lt;/h2&gt;

&lt;p&gt;Si quieres profundizar más sobre cómo preparar un ambiente local con Elasticsearch y cómo interactuar con él desde tus proyectos .NET, puede resultarte útil la siguiente sesión compartida en el canal oficial de la comunidad de Elastic:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ik8a0JeIERQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Más información de cada uno de los clientes oficiales que Elastic dispone para .NET en su version 7.17: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.elastic.co/guide/en/elasticsearch/client/net-api/7.17/elasticsearch-net-getting-started.html" rel="noopener noreferrer"&gt;Documentación de Elasticsearch.Net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.elastic.co/guide/en/elasticsearch/client/net-api/7.17/nest-getting-started.html" rel="noopener noreferrer"&gt;Documentación de NEST&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Más información de la nueva versión 8.x del cliente .NET para Elasticsearch puedes indagar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/installation.html" rel="noopener noreferrer"&gt;Documentación de Cliente .NET para Elasticsearch v 8.x&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ¿Tienes algún comentario?
&lt;/h2&gt;

&lt;p&gt;Gracias por tu tiempo, espero éste artículo te haya resultado útil. Si tienes comentarios, por favor compártelos. 😉&lt;br&gt;
&lt;em&gt;Te invito a seguirme en &lt;a href="https://twitter.com/jjorozcodev" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; y/o contactarme en &lt;a href="https://www.linkedin.com/in/jjorozcodev/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>elasticsearch</category>
      <category>nest</category>
      <category>dotnet</category>
      <category>nuget</category>
    </item>
  </channel>
</rss>
