miércoles, 23 de enero de 2013

Problemas con jquery 1.9 en visual studio 2012

Síntomas:

Actualizas la versión de jQuery a 1.9.0 con el administrador de paquetes.
Tus aplicaciones dejan de funcionar incluso aunque actualices el resto de paquetes con dependencias de jQuery.
En mi caso dejo de funcionar el entorno jquery.mobile

Solución:

Vuelve a la versión 1.8.3 de jQuery utilizando la consola de Powershell de VS2012
Dado que hay diversos paquetes que dependen de jQuery te será comodo un powershell script.
Yo me cree este:
Uninstall-Package jquery.mobile
Uninstall-Package jQuery.UI.Combined
Uninstall-Package Microsoft.jQuery.Unobtrusive.Ajax
uninstall-package Microsoft.jQuery.Unobtrusive.Validation
Uninstall-Package jQuery.Validation 

Uninstall-Package jquery
install-Package jquery -Version 1.8.3

install-Package jquery.mobile
install-Package jQuery.UI.Combined
install-Package jQuery.Validation 
install-package Microsoft.jQuery.Unobtrusive.Validation
install-Package Microsoft.jQuery.Unobtrusive.Ajax

Dependiendo de los paquetes que tengas instalados pueden salir errores, solo tienes que ir añadiendo los paquetes al script. Las dependencias también te pueden crear problemas, todo es cambiar el orden.

Comentario:

Con el tiempo se resolverá pero es interesante conocer como revertir Nuget.

martes, 22 de enero de 2013

Los paquetes de software no se distribuyen en SCCM 2012

Síntomas:

Observas que los paquetes de software (por ejemplo actualizaciones) no están distribuyéndose mediante System Center Configuration Manager 2012
Cuando vas a \Monitoring\Overview\Deployments y miras el status de un  paquete con error ves que hay un conflicto de grupos (Group Conflict Error 0x87d00692)

Solución

Ves a un equipo con el problema y abre  WUAHander.log (en mi caso en c:\windows\CCM\logs) con el Configuration manager trace log tool
Probablemente veras una línea donde dice

Enabling WUA Managed server policy to use server: http://wsus.empresa.org:80 WUAHandler 14/01/2013 12:50:47 2728 (0x0AA8)
Y luego otra línea donde dice:
Group policy settings were overwritten by a higher authority (Domain Controller) to: Server  http://wsus.empresa.org and Policy ENABLED WUAHandler 14/01/2013 12:50:49 2728 (0x0AA8)
Failed to Add Update Source for WUAgent of type (2) and id ({77E243DD-3DD0-4F77-B5DF-2029B77820B9}). Error = 0x87d00692. WUAHandler 18/01/2013 16:21:09 38480 (0x9650)
La clave está en lo que he marcado en negrita: en el segundo mensaje falta el puerto 80 detrás del servidores WSUS.
Debes corregirlo en la GPO que creaste para instalar el cliente SCCM.
Otro posible error es no usar la fqdn completa, por ejemplo http//wsus:80 en lugar de http://wsus.empresa.org:80



domingo, 20 de enero de 2013

jquery.mvc.net y vb.net

Enunciado

En un proyecto web mvc instalas desde nuget jquery.mvc.net y nada funciona

Solución

Cambia todas las  plantillas, controladores, startapp a vb.net. Estan en c#

Comentario

Si quieres el código posteame un comentario y lo publicaré.  (Voy corto de tiempo)

miércoles, 16 de enero de 2013

Errores al generar código en un modelo EDM en VS2012

Cómo reproducir el problema:

En Visual Studio 2012 crear un modelo de entidades de datos (Entity Data Model o EDM) desde una base de datos existente.

Primer problema:

Aparecen errores relativos a conflictos entre nombres de propiedad que se repiten, una por cada campo.
Solución:
Compila la aplicación y desaparecen. (magia pura al estilo datasets)

Continuamos:

Añades un elemento de generación de código, concretamente: EF 5.x dbContextGenerator.

Síntomas:

Aparecen errores que señalan métodos duplicados: New(), OnModelCreating y propiedades....
Por ejemplo:

'Protected Overrides Sub OnModelCreating(modelBuilder As System.Data.Entity.DbModelBuilder)' tiene varias definiciones con firmas idénticas.

Solución:

En el explorador de soluciones activa mostrar todos los archivos. Ves al EDM que has creado,
Veras archivos tt (templates) que a su vez contienen el código generado.
Tienes los que incorpora por defecto
  • (nombre del EDM).tt
  • (nombre del EDM).context.tt
y los que has añadido.
  • (nombre del elemento a generador de código).tt
  • (nombre del elemento a generador de código).context.tt
Bueno ahora viene lo divertido
En Visual Studio 2012 no hace falta usar EF 5.x dbContextGenerator, ya se utiliza por defecto para generar el código.
En  VS2010 no eran estas las plantillas por defecto y veras  por ahí artículos paso a paso en que te dicen que añadas dbContextGenerator.

Así que borra los elementos que has añadido:
  • (nombre del elemento a generador de código).tt
  • (nombre del elemento a generador de código).context.tt
Los errores desparecerán. Y ya sabes no vuelvas a añadir el elemento de generador de código..

Nota: Podría ocurrir que hayas usado otro tipo de elemento de generación de código, En ese caso deberías borrar las originales del proyecto.

Ver: EF Designer Code Generation Templates  en http://msdn.microsoft.com/en-us/data/jj613116.aspx