Pues eso… Marcelo de SevillaDotNet me ha invitado a un café virtual el próximo miércoles día 7 de abril a las 18:30 hora de la España peninsular (una hora menos en Canarias), así que… si nos quieres acompañar regístrate y asiste siguiendo este enlace: Café Virtual con Guillermo Som.
Nota del martes 6 de abril Si quieres, también puedes verlo en directo por YouTube o bien usar este mismo enlace para después de mañana 7 de abril de 2021:
Si quieres ver qué hora es ahora en España (Madrid) sigue el enlace y así sabrás qué hora será en tu país 😉 Me comentan que al pulsar el enlace te muestra la hora en tu ciudad.
Este es el resumen de la charla cafetera 🙂
En este café virtual vamos a charlar con Guillermo Som. Tras tantos años participando y ayudándonos a todos con su sitio elguille.info, probablemente te haya ayudado en algún momento. Vamos a charlar sobre sus inicios en la informática, sobre el camino que él ha tenido cómo programador, de .NET y su evolución y mucho más.
En esa ocasión me daba error la aplicación de Xamarin.Forms y sin saber porqué… Pero la he vuelto a probar y por ahora, al menos en el IDE de Visual Studio 2019 va bien. De todas formas, ya sabes si usas lo que te voy a explicar aquí, y ves que la aplicación casca, ya sabes porqué es.
La documentación (en inglés) dice esto:
For performance reasons, you should call this method only when you do not know at design time what assembly is currently executing. The recommended way to retrieve an Assembly object that represents the current assembly is to use the Type.Assembly property of a type found in the assembly.
Que en el idioma actualizado de Cervantes viene a decir esto (según Google Translator):
Por motivos de rendimiento, debe llamar a este método solo cuando no sepa en tiempo de diseño qué ensamblado se está ejecutando actualmente. La forma recomendada de recuperar un objeto Ensamblado que representa el ensamblado actual es usar la propiedad Type.Assembly de un tipo que se encuentra en el ensamblado.
Aquí te voy a poner el código (tanto de Visual Basic como de C#) para usar esta forma recomendada de asignar un ensamblado (de la clase System.Reflection.Assembly).
Este código está en bibliotecas (proyectos del tipo Class Library) para usar con .NET Standard 2.0 (de esta forma los ensamblados se podrán usar tanto en .NET Core como en .NET Framework).
Ejemplo para C#
publicstaticstring VersionDLL()
{
var ensamblado = typeof(AboutViewModel).Assembly;
var fvi = FileVersionInfo.GetVersionInfo(ensamblado.Location);
// FileDescription en realidad muestra (o eso parece) lo mismo de ProductName
var s = $"{fvi.ProductName} v{fvi.ProductVersion} ({fvi.FileVersion})" +
$"\r\n{fvi.Comments}";
return s;
}
Ejemplo para Visual Basic
PublicFunction VersionDLL() AsString
Dim ensamblado = GetType(DatosMostrar).Assembly
Dim fvi = FileVersionInfo.GetVersionInfo(ensamblado.Location)
' FileDescription en realidad muestra (o eso parece) lo mismo de ProductName
Dim s = $"{fvi.ProductName} v{fvi.ProductVersion} ({fvi.FileVersion})" &
$"{vbCrLf}{fvi.Comments}"
Return s
EndFunction
Ese código mostrará la versión del ensamblado, la versión del fichero y la descripción, aunque en realidad a la propiedad a la que tienes que acceder es a Comments, ya que FileDesciption muestra lo mismo que ProductName.
Y aquí tienes una captura para la aplicación de Android con los comentarios de las 3 bibliotecas que estoy usando, 2 de ellas escritas con Visual Basic y la tercera (la que le da funcionalidad visual a la aplicación está escrita en C#).
Figura 1. Captura en el emulador de Android.
Y esta otra captura es de la aplicación en el emulador (local) de UWP (Universal Windows Platform) pero con la aplicación real. Aunque en modo depuración.
Figura 2. Captura en el (emulador) de UWP.
Espero que te sea de utilidad… Esa es siempre la idea…
Nos vemos. Guillermo
P.S. El puñetero Jetpack agrega código (de más) a las imágenes y cuando estas se muestran desde www.elguille.info, simplemente no se ven… pero… puedes pulsar en el sitio (en blanco) en el que está la imagen y te la mostrará… Lo mismo quito el Jetpack, que, aparte del «bloque» Markdown y el poder publicar en twitter y mi sitio de facebook, no me sirve de mucho…