JASoft.org

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

MENÚ - JASoft: JM Alarcón

Arreglar el error de que falta un ensamblado en el GAC en una aplicación ClickOnce en una aplicación .NET

Buff, ClickOnce: ¡menuda tecnología del año de la polca! Se nota que soy un viejuno. Lo cierto es que ClickOnce es una tecnología interesante que, aunque no esté tan de moda como en tiempos, se sigue utilizando y mucho. ¿No me crees? Vale, pues prueba a instalar por ejemplo Google Chrome en Windows y la verás en acción. Sí, ese pequeño ejecutable que te salta y que te pide permisos para instalar desde una ubicación remota es ClickOnce en todo su esplendor. En este artículo te cuento cómo solucionar el problema de cuando te sale el mensaje: "
No se ha podido instalar o ejecutar la aplicación. La aplicación necesita XXXXX Versión X.y.zzzz.0 en el GAC". [Más]

Cómo mantener sincronizados los ajustes de Visual Studio Code entre todos nuestros equipos

He de reconocer que cuando Microsoft presentó Visual Studio Code hace ya casi dos años mi primera reacción fue de escepticismo: "¿Otro editor más, por mucho que sea multi-plataforma, para competir consigo mismo y Visual Studio? ¿tratar de robar mercado a Atom y editores similares? Decididamente han perdido el Norte...". La realidad es que con el tiempo he tenido que dejar de lado mis reservas y hoy en día es el editor que más utilizo con diferencia. Se ha convertido en una herramienta imprescindible para mi, y lo tengo instalado en todos mis ordenadores. Encima, como es multiplataforma, lo puedes usar de la misma manera en Windows, Linux y Mac. Me gusta lo ágil que es, lo bien que funciona especialmente para desarrollo web (HTML, CSS, javaScript), NodeJS y no menos importante, Markdown. Y si lo aderezas con unos cuantos complementos, entonces es mucho mejor. Desde que lo lanzaron, todos los meses sacan actualizaciones que lo hacen cada vez un poco mejor. Una de las carencias que presen... [Más]

Mi Visual Studio no sincroniza el archivo actual en el Explorador de Soluciones

Una cosa muy útil cuando estamos programando con Visual Studio es que, si tienes varios archivos de código abiertos a la vez, cuando cambias de uno a otro se seleccione dicho archivo en el explorador de soluciones.De ese modo, al cambiar de archivo, sabes exactamente en qué proyecto concreto y en qué parte del proyecto estás en cada momento. Esto es especialmente útil en desarrollos grandes, formados quizá por decenas de proyectos y cientos o miles de archivos de código.En Visual Studio 2010 esto era así por defecto (y si no me equivoco ni siquiera lo podrías cambiar). En versiones más recientes de Visual Studio como Visual Studio 2013 o 2015, esto no es así. Por defecto, cuando abres un archivo no se selecciona automáticamente en el explorador de soluciones.En proyectos pequeños esto no tiene importancia, pero en proyectos grandes es un fastidio (o al menos a mi me lo parece).¿Cómo puedes hacer que se sincronice lo que estás viendo con el Explorador de Soluciones?Muy fácil. Es solo sa... [Más]

TRUCO: Búsqueda rápida de archivos en Visual Studio

Este es un truco que, sorprendentemente, muchos programadores que usan Visual Studio a diario desconocen. Se trata de la posibilidad de buscar a toda velocidad cualquier elemento de nuestro código, incluyendo archivos, variables, funciones, clases...La funcionalidad se denomina "Navigate to", y en las últimas versiones de Visual Studio se ha mejorado mucho, incluyendo VS2013.Para activarla lo único que hay que hacer es pulsar la combinación de teclas "CTRL + ," (sí, la coma).Esto abre una pequeña ventana adherida a la parte superior derecha del entorno, que tiene únicamente un cuadro de texto con el foco puesto, en el que podemos escribir:Lo que escribamos ahí se usa para localizar a toda velocidad cualquier elemento de nuestro proyecto que incluya esa palabra: archivos, rutas, clases, métodos, variables... y se nos van mostrando debajo con la primera seleccionada y su vista previa detrás (en la pestaña de vista previa):Si pulsamos las teclas del cursor para bajar o subir nos va mostra... [Más]

Recuperar la vista de diseño y la vista partida para HTML en Visual Studio 2013

Hasta ahora estábamos acostumbrados a que en Visual Studio pudiésemos editar páginas HTML usando un diseñador que nos permitía alternar entre tres vistas diferentes: Design: edición visual de la página, pudiendo sacar partido a herramienta gráficas y facilitándonos la escritura de textos, creación de tablas, etc... Source: edición directa de código fuente HTML, con ayuda “intellisense”, etc... pero nada visual. Split: dividía el diseñador en dos zonas, mostrando en cada parte los dos modos anteriores, de modo que podíamos editar visualmente algo y ver los cambios reflejados en el código y viceversa. En Visual Studio 2013 sin embargo, la primera vez que editamos una página HTML nos damos cuenta de que esta característica ya no está disponible y sólo disponemos de la vista de código. En Visual Studio 2013 han escrito de nuevo desde cero el editor de HTML, que no tiene nada que ver con el anterior aunque se parezcan en el modo “source”, y han dejado fuera estas funcionalida... [Más]

Nuevos proyectos unificados de aplicaciones ASP.NET en Visual Studio 2013

Un poco de historia para comenzar y ayudarnos a entender el porqué de lo que voy a explicar. Cuando nació ASP.NET hace ya casi 15 años lo único que existía era ASP.NET Web Forms. Este novedoso paradigma de desarrollo trataba de acercar el desarrollo web a los programadores de escritorio, y permitía arrastrar y soltar controles, controlar eventos en el servidor como si fueran eventos de cliente, etc… Algo muy innovador y que todavía sigue siendo muy útil (y muy utilizado), pero que cada vez se usa más para ciertos ámbitos concretos, como las aplicaciones empresariales. Una década más tarde Microsoft decidió que aunque esto estaba muy bien para crear rápidamente aplicaciones de tipo empresarial no daba la flexibilidad apropiada para crear aplicaciones web generales, donde se necesitaba un control absoluto sobre el HTML generado, y se necesita poder sacar partido con total libertad a... [Más]

Solucionar problemas con el driver de Access Microsoft.ACE.OLEDB.12.0 en sistemas de 64 bits

Hoy he perdido un buen rato con este problema, así que comparto la solución aquí por si a alguien más le pasa. Tengo una aplicación vieja de escritorio que importa unos archivos XML dentro de una base de datos Access. Recientemente he instalado la versión definitiva de Office 2013 y he aprovechado para instalar la versión de 64bits de la suite, ya que antes tenía Office 2010 x32. Desde el momento en que he instalado esta nueva versión me dejó de funcionar la aplicación de importar archivos. Todo el tiempo daba el siguiente error: Al tener instalado Access 2013 eso no debería pasar. El caso es que desde Visual Studio también ocurría al intentar acceder desde el explorador de servidores si intentabas añadir una conexión a cualquier Access. Lo cierto es que el formato de Access no ha cambiado desde la versión 2007 por lo que cualquier versión del driver por antigua que sea debería funcionar, y con más razón si tienes instalada la última versión del entorno. Todo apuntaba a que era u... [Más]

Cómo detectar un cambio de sesión o que el usuario bloquea la sesión en Windows

En ocasiones resulta muy útil detectar desde tu aplicación Windows el hecho de que el usuario actual se esté conectando o desconectando a la sesión actual, o simplemente que se haya bloqueado el escritorio. Por ejemplo, si el usuario tiene el escritorio bloqueado es una tontería mostrarle mensajes o globos de notificación ya que no va a haber nadie para verlos ¿no? ¿Cómo podemos detectar estas circunstancias? La API de .NET dispone de un espacio de nombres especial llamado Microsoft.Win32 que contiene clases que encapsulan funcionalidad atada al sistema operativo Windows. Dentro de este espacio de nombres existe una clase llamada SystemEvents que ofrece multitud de eventos estáticos que nos permiten responder a diversas cuestiones que ocurren en el sistema operativo: cambio de los ajustes de pantalla, agregar o quitar fuentes, que el equipo se está apagando o suspendiendo, cambios de preferencia de usuario, cambio de la hora del sistema, etc... Es realmente útil, y utiliza por debajo... [Más]

Cómo usar expresiones regulares en las búsquedas de Visual Studio

Aparte de para las labores habituales de todo desarrollador (o sea, escribir código, jeje), Visual Studio es también una estupenda herramienta para procesar archivos, sobre todo cuando necesitas hacer cambios masivos en contenidos mediante buscar y reemplazar. Como te permite abrir muchos archivos y luego buscar cadenas sobre ellos usando expresiones regulares, puedes hacer cambios más o menos complejos con relativa facilidad. Sin embargo la sintaxis de expresiones regulares que admite difiere en bastantes cosas de la sintaxis habitual en la mayoría de los lenguajes de programación, como C#/.NET o JavaScript, por ejemplo. Para expresiones regulares básicas es igual y no tendrás problemas, pero hay otras cuestiones que, de entrada, resultarán más complejas porque cambia la sintaxis. Por ejemplo, imagina que tienes que cambiar todas las etiquetas <ul>  dentro de varios archivos HTML por etiquetas <ol>, para convertir todas las listas en listas ordenadas. Abrirías el ... [Más]

Internet Information Server (IIS) Express y Visual Studio 2010 SP1

Desde hoy por la mañana está disponible para descarga el Service Pack 1 de Visual Studio 2010. Trae algunas novedades (nada que ver con el SP1 de VS2008 que fue realmente un cambio gigantesco) y corrige decenas de bugs. Una de las novedades que trae respecto a desarrollo Web es la posibilidad de utilizar el recientemente aparecido IIS 7.5 Express para probar los desarrollos. IIS Express es una versión reducida del servidor de aplicaciones Web de Microsoft y nos proporciona una experiencia mucho más real a la hora de probar las aplicaciones, frente al habitual "Cassini" (o Web Development Server, como se le llama oficialmente). IIS Express contiene el motor de IIS y funciona exactamente igual que éste, por lo que te resultará muy fácil probar las configuraciones reales en él o, incluso, distribuirlo con tus propias aplicaciones en un momento dado. Lo puedes descargar desde aquí o instalarlo desde el Web Platform Installer. ... [Más]