martes, 17 de marzo de 2020
Hace unos días han anunciado la disponibilidad de una herramienta que os puede interesar si, como un servidor, acumuláis un gran número de versiones del SDK y runtimes de .NET Core que no váis a necesitar, algo muy propio de ese Diógenes digital que todos llevamos dentro ;)El estado actual de acumulación de SDKs podéis conocerlo muy fácilmente desde línea de comandos utilizando la orden
dotnet --list-sdks:C:\>dotnet --list-sdks
1.1.11 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.503 [C:\Program Files\dotnet\sdk]
2.1.504 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.507 [C:\Program Files\dotnet\sdk]
2.1.508 [C:\Program Files\dotnet\sdk]
2.1.509 [C:\Program Files\dotnet\sdk]
2.1.511 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.1.604 [C:\Program Files\dotnet\sdk]
2.1.700 [C:\Program Files\dotnet\sdk]
2.1.701 [C:\Program Files\dotnet\sdk]
2.1.800-preview-009696 [C:\Program Files\dotnet\sdk]
2.1.801 [C:\Program Files\dotnet\sdk]
2.1.802 [C:\Program Files\dotnet\sdk]
2.2.102 [C:\Program Files\dotnet\sdk]
2.2.105 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]
2.2.203 [C:\Program Files\dotnet\sdk]
2.2.204 [C:\Program Files\dotnet\sdk]
3.0.100-preview8-013656 [C:\Program Files\dotnet\sdk]
3.0.100-preview9-014004 [C:\Program Files\dotnet\sdk]
3.0.100 [C:\Program Files\dotnet\sdk]
3.1.100 [C:\Program Files\dotnet\sdk]
3.1.101 [C:\Program Files\dotnet\sdk]
3.1.102 [C:\Program Files\dotnet\sdk]
C:\>_
En mi caso, tengo aún por ahí el SDK de .NET Core 1.x, un par de decenas de .NET Core 2.x, y algunas previews, pero los he visto mucho peores ;) Obviamente, salvo dos o tres versiones que quizás me interesen porque tengo aplicaciones que aún no he migrado, el resto ocupan en mi equipo un espacio considerable sin motivo, más de 5GB, pues cada SDK puede pesar entre 150 y 200 Mb.
Publicado por José M. Aguilar a las 8:05 a. m.
Hay
2 comentarios, ¡participa tú también!
Etiquetas: herramientas, netcore, trucos
lunes, 16 de marzo de 2020
Por si te lo perdiste...
- Etiquetado de consultas en Entity Framework Core
José María Aguilar - La directiva @helper no existe en MVC Core 1.0
José María Aguilar
.NET Core / .NET
- Announcing the .NET Core Uninstall Tool 1.0
Sarah Oslund - Visual Basic support planned for .NET 5.0
.NET Team - Microsoft: 'We Do Not Plan to Evolve Visual Basic as a Language'
David Ramel - Your C# is already functional, but only if you let it
Igal Tabachnik - Morestachio 3.0. An Evolving .NET TextEngine
Jean-Pierre Bachmann - Improving list sum function based on head and tail with C# 8
Jiří Činčura - Passing awaited tasks
Eric Lippert - Some more C# 8
Tom Deseyn - Microsoft Dotnet Gitignore File
Vijay Ganesh - C# Implementation of Basic Linear Algebra Concepts
Mohammad Elsheimy - C#: Different ways to Check for Null – Thomas Claudius Huber
Thomas Claudius Huber
martes, 10 de marzo de 2020
Alguna vez he escuchado, a modo de leyenda urbana, que no era bueno utilizar try/catch porque el mero hecho de usar este tipo de bloque de código afectaba al rendimiento.
La verdad es que de forma intuitiva se puede adivinar que esto no debería ser así. Si no se producen excepciones en un código que tengamos envuelto en un
try/catch se debería ejecutar virtualmente a la misma velocidad que si no usáramos este tipo de bloque. Cosa distinta es si producen excepciones: ahí el rendimiento sí se verá seriamente penalizado, pero no es culpa del try/catch sino del propio sistema de gestión de excepciones de .NET.Pero claro, lo dicho anteriormente es sólo cierto si somos capaces de demostrarlo, así que usaremos nuestro viejo conocido
BenchmarkDotnet para desmontar este mito.
lunes, 9 de marzo de 2020
Por si te lo perdiste...
- Índices y rangos en C# 8 (2 de 2)
José María Aguilar - ¿Cuál es el "Bus factor" de tu proyecto?
José María Aguilar
.NET Core / .NET
- Nuevo curso: Testing de aplicaciones .NET y .NET Core
CampusMVP - Fin de soporte de .NET Core 3 ¿y ahora qué?
Jorge Serrano - Creando un Servicio Windows con .NET Core 3.1
Jorge Serrano - Introducing perfolizer
Andrey Akinshin - .NET Threading and WebAssembly
Jerome Laban - Why do I rag on BinaryFormatter?
Marc Gravell - C# 8 default interface methods
Tom Deseyn - Optimize struct performances using StructLayout
Gérald Barré - Analysing .NET start-up time with Flamegraphs
Matt Warren - How to write a Roslyn Analyzer
Mika Dumont - Functional Programming Optics in .NET
William Barbosa - Upgrade Your .NET Console App Experience
Khalid Abuhakmeh - C# 8 nullable reference types
Tom Deseyn - Patrik Svensson - How to write a stateful Roslyn analyzer
Patrik Svensson - C#: The Order of Interfaces Is Important for Casting Performance
Thomas Claudius Huber
lunes, 2 de marzo de 2020
Por si te lo perdiste...
- Índices y rangos en C# 8 (1 de 2)
José María Aguilar - Añadir o eliminar encabezados de respuesta en ASP.NET Core y Core MVC
José María Aguilar
.NET Core / .NET
- Windows Forms y el regreso de su diseñador en .NET Core 3
Elena Guzmán - Cómo escribir un logger de alto rendimiento para .Net Core
Jorge Turrado - .NET Core 3.0 will reach End of Life on March 3, 2020
Lee Coward - Dos and Don'ts of stackalloc
Kevin Jones - Struct equality performance in .NET
Gérald Barré - C# 8 asynchronous streams
Tom Deseyn - .NET Core/Standard Auto Incrementing Versioning
Sacha Barber - Provisional Mode
Maoni Stephens - C# 8 pattern matching
Tom Deseyn - Using the LINQ OrderBy operator with null values
Jerrie Pelser - Putting the Fun in C# Local Functions
Rion Williams - C# - Sealed and internal - how to use in unit test?
Josef Ottosson - Why is decompilation possible?
Mark Downie
martes, 25 de febrero de 2020
Pues va un post cortito a modo de autorecordatorio, porque es algo que me ha pasado ya varias veces y siempre tengo que ponerme a investigar cómo solucionarlo.Personalmente me gusta tener todos los entornos y herramientas de desarrollo en inglés, básicamente porque cuando encontramos problemas es más fácil encontrar soluciones si a la hora de buscar utilizamos los términos en este idioma... bueno, y de paso, evito ver algunas traducciones terribles ;)
Pues bien, en el caso del SDK de .NET Core, el idioma no es una característica que podamos elegir a la hora de instalarlo. Se instalarán todos los idiomas disponibles (podéis verlo por ejemplo en la carpeta
%programfiles%\dotnet\sdk\3.1.101), y los mensajes se mostrarán en el idioma configurado por defecto en nuestra máquina. En mi equipo, por ejemplo, se muestra todo en idioma español:C:\>dotnet xyz
No se pudo ejecutar porque no se encontró el comando o archivo especificados.
Algunas de las posibles causas son:
* Escribió mal un comando dotnet integrado.
* Intentó ejecutar un programa .NET Core, pero dotnet-xyz no existe.
* Tiene planeado ejecutar una herramienta global, pero no se encontró un ejecutable
con prefijo dotnet con este nombre en la RUTA DE ACCESO.
C:\>_

