Error al usar SvcUtil.exe en Visual Studio Team System Beta 2!
Demonios
Si alguna vez se preguntó acerca del significado de Demonios, en el tíitulo de mi blog (Acerca de Dominios y de Demonios) aquí va una explicación.
Demonios tiene que ver con las cosas que por mucho tiempo me han estado, preocupando o robando incontables horas de sueño, manteniéndome navegando entre: blogs, foros de discusión y demás recursos tratando de encontrar una solución.
Si todavía no entiende mucho acerca de lo que trato de expresar con Demonio, esto es a lo que me refiero:
![clip_image002[4]](http://blogs.msdn.com/blogfiles/apacheco/WindowsLiveWriter/ErrorusandoSvcUtil_BB3D/clip_image002%5B4%5D_thumb.jpg)
¿De dónde proviene?
Si usted al igual que yo, lleva un tiempo jugando con la versión Beta 2 de Visual Studio Team System y trata de ejecutar la aplicación SvcUtil.exe para generar información de configuración de su servicio, recibirá un error como este.
El mensaje completo de la excepción es el siguiente:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'svcutil, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) File name: 'svcutil, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A)The Zone of the assembly that failed was: MyComputer
Solución
Las razones hasta el momento de escribir este blog eran desconocidas, el paleativo es el siguiente:
1. Abra una ventana de comandos de Visual Studio 2008, al abrir una vantana de comandos de esta manera, esta colocando variables de ambientes necasarias y modificando el path para acceder a utilitarios del SDK de Windows.
2. Posteriormente ejecute el siguiente comando:
Sn –Vr c:\program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe
Esta opcion evita que el runtime verifique que este Assembly, esté firmado para autorizar su ejecución y **SI**, se recomienda que esta opción solo sea utilizada en ambientes de desarrollo, por las vulnerabilidades de seguridad que podría generar.
Cuidado con la Seguridad
Si alguna vez, se ve forzado a usar la opción –Vr del utilitario sn.exe, tenga en cuanta también, que esta opción tiene una vuelta atrás. O sea usted puede volver a habilitar el chequeo de firmas por el runtime usando la opción:
Sn –Ur <Path-To-Assembly>
Más información
Si necesita más información sobre este error, les invito a visitar este **enlace**, que corresponde a una herramienta creada por el equipo de desarrollo de Visual Studio, para recibir reportes de incidentes de usuarios que han iniciado una adopción temprana del producto.
Espero que esto, les ayude.
)) Alejandro