Estoy tratando de hacer algunas mejoras para el marco tSQLt y en su mayoría estoy terminado, pero no puedo hacerlo, ya que fallan algunas pruebas relacionadas con el certificado que no estaba tocando:
[exec] |18|[InstallExternalAccessKeyTests].[test creates correct certificate in master] | 120|Failure|
[exec] |19|[InstallExternalAccessKeyTests].[test tSQLt can be set to EXTERNAL ACCESS after InstallExternalAccessKey executed] | 333|Failure|
[exec] |20|[InstallExternalAccessKeyTests].[test tSQLtExternalAccessKey install data is signed with same key as tSQLt.clr] | 10|Failure|
El error de falla es:
Expected: %publickeytoken=8c9a92de0f9c7794,%
Actual: tsqltclr, version=1.0.7216.13228, culture=neutral, publickeytoken=8d3f4bf59e4c22fd, processorarchitecture=msil
Trataré de describir mi proceso de instalación.
Instalé las fuentes de este marco utilizando las siguientes pautas . Sin embargo, no pude comenzar el proyecto después de eso, ya que estaba fallando con los siguientes errores y toda la resolución del problema se realizó en esa publicación SO :
[exec]
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (2482,5): error MSB3325: No se puede importar el siguiente archivo de clave: tSQLtOfficialSigningKey.pfx. El archivo de clave puede estar protegido por contraseña. Para corregir esto, intente importar el certificado nuevamente o instale manualmente el certificado en el CSP de nombre seguro con el siguiente nombre de contenedor de clave: VS_KEY_C20B79DE0583A5C1 [E: \ Source \ tSQLt \ tSQLtCLR \ tSQLtCLR \ tSQLtCLR.csproj] [exec]
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (2482,5): error MSB3321: se canceló la importación del archivo de clave "tSQLtOfficialSigningKey.pfx". [E: \ Source \ tSQLt \ tSQLtCLR \ tSQLtCLR \ tSQLtCLR.csproj]
Para solucionar este problema, he creado nuevas claves para cada proyecto sin contraseña:
Veo que creó el snkarchivo, no tan original pfx. Después de eso, intenté ejecutar la compilación nuevamente y fallé con los errores que mencioné anteriormente.
fuente


tsqlframework? Incluye muchos códigos en el código de su base de datos, muchas funciones SQL CLR. He intentado usar if para 2 grandes proyectos durante el año y falla mucho. Será mejor crear su propia prueba usando .net o / y SQL y ejecutarlos a través de alguna herramienta para obtener una ejecución paralela.Respuestas:
Como se indica aquí
El siguiente error puede ocurrir al crear proyectos para Microsoft Visual Studio 2008 - 2015.
Error : no se puede importar el siguiente archivo de clave: mykey.pfx. El archivo de clave puede estar protegido por contraseña.
SOLUCIÓN 1:
Haga clic en Inicio> Todos los programas> Microsoft Visual Studio> Herramientas de Visual Studio> Símbolo del sistema de Visual Studio. Escribe el siguiente comando
Nota : El sn.exe con el parámetro -i instala un par de claves en un contenedor de claves denominado. Vuelva a importar el archivo PFX en Visual Studio.
SOLUCIÓN 2:
Abrir propiedades del proyecto.
Haga clic en la sección Firma.
Visual Studio ahora le pedirá la contraseña. Ingresarlo. Es posible que reciba otro mensaje de error: "Se intentó hacer referencia a un token que no existe"> Simplemente puede ignorar este mensaje.
Haga clic en el botón "Cambiar contraseña"
SOLUCIÓN 3:
Obtenga una copia de openssl para Windows en slproweb.com o use un cuadro de Linux, ya que casi todos lo tienen. Ejecute lo siguiente para exportar a un archivo clave
Luego, en las propiedades del proyecto, puede usar el archivo PFX
SOLUCIÓN 4:
La solución final para este problema es renunciar a Visual Studio para firmar y usar Signtool en su lugar.
Respuesta actualizada
Parece que su cuenta de TFS Build Service no tiene permiso requerido para acceder a la firmaKeyKey.pfx en la máquina del agente de compilación. Asegúrese de tener este archivo en la máquina del agente de compilación primero.
Luego siga los pasos a continuación:
sn –i signingKey.pfx VS_KEY_EFCA4C5B6DFD4B4F(asegúrese de utilizar el nombre de la clave que aparece en el mensaje de error)Cuando se le solicite una contraseña, escriba la contraseña para el archivo pfx
Luego reconstruirlo
Nota: Si no está ejecutando Visual Studio como administrador, intente hacerlo también.
Más detalles puede consultar la respuesta de Brandon Manchester No se puede importar el archivo de claves 'blah.pfx' - error 'El archivo de claves puede estar protegido con contraseña'
fuente
Sign the ClickOnce manifestsestá desmarcado y DESACTIVADO. Estoy tratando de hacer todo localmente, por lo que no hay problemas de permisos (he intentado ejecutar esta línea de comando bajo el administrador)