JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

¿Cómo averiguar qué versión o versiones de la plataforma .NET tengo instaladas en mi equipo?

A veces, quieres ejecutar o instalar una aplicación en una nueva máquina o en un servidor que no controlas, y tu aplicación escrita en .NET necesita una versión determinada. Lo normal que cualquiera se preguntarías ¿dónde se ven las versiones instaladas? Seguro que hay un sitio en el que se muestra esta información o, en el peor de los casos, se puede lanzar algún comando desde la terminal del sistema que nos lo diga ¿verdad? Pues en .NET 4.x o anterior, o sea, .NET "tradicional" no hay nada similar. En este post te hablo de una utilidad muy sencilla que he creado para facilitar averiguar esta información. [Más]

Descartes en C# 7: el uso que no conocías para el guión bajo

En muchas ocasiones, cuando trabajas con la plataforma .NET debes forzosamente pasar parámetros o recibir resultados de llamadas que en realidad no necesitas para nada. Muchas veces puedes hacer caso omiso de ellos y simplemente no declararlos, pero lleva a código menos mantenible y "feo". En otras ocasiones no puedes eludir declararlos aunque luego no vayas a utilizarlos en absoluto. Para gestionar esta casuística en C# se introdujo una nueva característica para crear precisamente eso: descartes. Para evitar tener que declarar cosas que no vamos a utilizar. Vamos a verlo... [Más]

¿Es lo mismo string o String en un programa C#?

Esta es una pregunta típica de principiante que suele tener una respuesta muy clara y concisa: sí, es indiferente usar una cosa o la otra. Incluso hay un estilo "estándar" que usa casi todo el mundo para cuando usar uno u otro. Pero, sin embargo, las cosas nunca suelen ser tan fáciles en los casos extremos... En este artículo explico por qué es lo mismo usar uno u otro en la mayoría de los casos, pero cómo el hecho de usar uno de ellos puede crear consecuencias inesperadas e incluso peligrosas algunas veces, por lo que deberíamos evitarlo. ¡Allá vamos! [Más]

Diferentes configuraciones en Visual Studio para generar diferentes ediciones de una aplicación

Si desarrollamos una aplicación con .NET que se comercializa en distintas ediciones (por ejemplo Standard y Professional), cada una de las cuales ofrece diferentes capacidades/características y diferentes precios, es interesante poder generar físicamente distintos .exe o .dll para cada edición. Por ejemplo, MiSuperApp-Standard.exe y MiSuperApp-PRO.exe. ¿Cómo podemos conseguir esto y que además cada una sea diferente, pero sin tener que duplicar el código? Pues eso es precisamente lo que te voy a explicar en este artículo... [Más]

Cómo exponer una DLL de .NET para usarla con Visual Basic 6, VBScript y ASP Clásico

Aunque la plataforma .NET lleva ya más de 16 años entre nosotros, la realidad es que hay muchas ocasiones en las que debemos hacer uso de otro tipo de tecnologías más antiguas y menos potentes, basadas en el vetusto estándar COM (también conocido como ActiveX). Por ejemplo, si queremos programar Office debemos utilizar VBA, para automatizar Windows es muy sencillo utilizar scripts escritos con Windows Scripting Host (que por debajo utiliza VBScript o JScript), y por supuesto, muchos tenemos que mantener todavía aplicaciones escritas con Visual Basic 6 o con ASP Clásico (ASP 3.0). Una gran parte de las limitaciones de estas herramientas tienen que ver con que se quedaron congeladas en el tiempo, sin evolucionar para dar soporte a muchos estándares que aparecieron más adelante. Para estos casos en los que una aplicación antigua debe soportar características modernas, una estupenda opción consiste en escribir la funcionalidad con una herramienta actual y exponerla hacia estas tecnologías antiguas a través de COM/ActiveX. La mayor parte de a documentación que hay por ahí está desactualizada y es complicado poner a andar algo así. En este artículo te cuento con detalle cómo hacerlo. [Más]