El futuro de .Net y sus distintas versiones

Dentro de poco, en noviembre de este año, .Net 5 pasara a GA (general availability) y esto va a suponer un gran cambio en el ecosistema .Net, que no todo el mundo esta terminado de entender.

El otro día me topé con el siguiente Tweet que no tiene desperdicio:

https://twitter.com/lluisfranco/status/1285506697570791424

Cómo el mismo menciona en la conversación creada, Microsoft no lo ha puesto fácil, así que me he puesto a revisar la documentación y roadmap para intentar resumir esto un poco.

Vamos a ver cada una de las versiones del framework y a intentar explicar esto un poco.

Ojo, no confundir los frameworks o implantaciones de .Net con los lenguajes (que alguna vez me lo he encontrado). C# es el lenguaje y .Net Core es el framework (por poner un ejemplo).

Sigue leyendo El futuro de .Net y sus distintas versiones

Forzar la re-instalación de todos los paquetes Nuget en Visual Studio

Hola, hoy vengo con una pequeña píldora. Me ha pasado a veces que al abrir un proyecto o al cambiar ciertas cosas de este, como por ejemplo en namespace, de pronto todo deja de compilar, como si no estuvieran los paquetes nuget instados. Pero si vas a Nuget, ahi esta todo, como si la cosa no fuese con el.

Para solucionar esto y reinstalar todos los paquetes de golpe y sin necesidad de tener que actualizarlos sólo tenemos abrir la consola de paquetes (Package Manager Console) en Visual Studio:

Y lanzar el siguiente comando:

Update-Package -reinstall

O para forzarlo sobre un proyecto concreto

Update-Package -reinstall -Project {nombre_del_proyecto}

Integración continua y despliegue automatizado en Azure con Azure DevOps

Os dejo por aquí la sesión que grabé el otro día en directo. En esta sesión se crea desde cero una implantación de integración y despliegue continuos de una web en Azure, usando Azure DevOps.

Espero que os guste. ¡Nos leemos!

Curso recomendado sobre Kubernetes

Estos días de confinamiento, paradójicamente, estoy teniendo mucho menos tiempo para mi mismo del que tenía antes y al caer la noche, llego muchísimo más agotado de lo que solía hacerlo cuando todo era normal (hay que tener a una niña de 4 años entretenida todo el tiempo, eso agota…). Es por eso, que no creo que actualice mucho el blog durante este periodo. Por colaborar un poco, os dejo una magnifica formación sobre Kubernetes que voy a intentar durante los próximos meses.

«from zero to hero with Kubernetes«, así se presenta esta formación on-line y totalmente gratuita que ofrece Microsoft.

https://azure.microsoft.com/es-es/resources/kubernetes-learning-path/

Os dejo también por aquí un enlace al sitio de formación de Microsoft, donde podréis encontrar decenas de cursos de todo tipo.

https://docs.microsoft.com/en-us/learn/browse/

¡Nos leemos!

Como gestionar errores en Power Automate

No soy yo muy fan del low code, pero oye, a veces me ha tocado usarlo. No negaré que puede llegar a tener sus ventajas en ciertos contextos y si sabemos ver cuando usarlo y cuando no, puede llegar a ser un buen acelerador. Una de las herramientas que se nos ofrece dentro de Power Platform (la plataforma low code de Microsoft) es Power Automate (antes llamados Flow), que a partir de la configuración de «cajitas» nos permite realizar ciertas acciones.

Una de las cosas con las que nos encontramos a tener que crear un flujo, es como gestionamos los datos cuando uno de los pasos que estamos configurando fallan. Cuando algo no va bien, el flujo se detiene y entrando en la página de gestión puedes ver el log y el histórico de ejecuciones, pero eso no suele ser suficiente.

Para tener un poco mas de control, podemos configurar dentro de la tarea que estamos creando, un comportamiento respecto a la ejecución anterior.

De este modo, podemos definir que la acción solo suceda cuando un estado concreto de la acción anterior se cumpla:

Así pues, podemos definir acciones para cuando la acción haya ido mal, y cuando haya ido bien, creando distintos caminos de comportamiento.

A partir de aquí, puedes realizar las acciones que necesites, como dejar un log en una Table Storage, un mensaje en Insights, un correo, etc…

¡Nos leemos!

Como activar las trazas de log de plug-in en Dynamics 365 Customer Engagement (CRM)

Por temas de trabajo, últimamente tengo que estar tocando mucho temas de Dynamics 365 CRM y tengo que ver temas de integraciones, desarrollo de plug-in, Power Platform, etc., por lo que seguramente escriba unas cuantas entradas al respecto con cosas que tengo que usar en mi día a día o temas que voy aprendiendo. Una de las formas que tengo para asimilar conocimientos es ver si soy capaz de explicarlos en una entrada del blog.

La cosa es que estoy desarrollando un plug-in para CRM 365 y una herramienta poderosa para ver como va todo por detrás son las trazas (si… así es…).

Vamos a ver como activarlas para poder verlas.

Sigue leyendo Como activar las trazas de log de plug-in en Dynamics 365 Customer Engagement (CRM)

Como hacer pruebas de carga HTTP con Vegeta

Una de las tareas que mas he de realizar últimamente es la creación de Api web (REST) para comunicar distintos componentes entre ellos. Cuando los desarrollamos, hacemos algunos test unitarios y de integración, pero mas haya del rendimiento que ofrece la Api en nuestros entornos de desarrollo, no estábamos probando como rinden en situaciones de estrés. Y eso me tenía mosca. El otro día, vi por Twitter a alguien que mencionaba una herramienta llamada Vegeta, que sirve precisamente para hacer pruebas de carga HTTP.

Con esta necesidad que tenía y este nombre de proyecto, no hay duda que los astros se alinearon en ese Tweet.

Imagen relacionada

Vamos a ver en esta entrada como usar Vegeta para realizar pruebas de carga de nuestra API. «It’s over 9000!»

Sigue leyendo Como hacer pruebas de carga HTTP con Vegeta

Vincular Azure DevOps a una suscripción de Azure

Un escenario muy común en Azure DevOps, es que tu pipeline de Release tenga que desplegar sobre una suscripción de Azure que no es la que tienes vinculada por defecto. En esta entrada vamos a ver como podemos vincular Azure DevOps y una suscripción de Azure.

Sigue leyendo Vincular Azure DevOps a una suscripción de Azure