No puedo crear proyectos con una firma de clave de nombre fuerte: el mensaje en el título siempre aparece.
Sí, el proyecto se copió inicialmente desde otra máquina. Sin embargo, incluso si agrego una nueva clave a través de la pestaña Firma en Propiedades del proyecto, este error aún se muestra.
He intentado ejecutar Visual Studio como administrador y he intentado agregar manualmente las claves al almacén de certificados de Windows.
¡Ayuda!
Editar: No obtengo este error con un nuevo proyecto, pero me gustaría que este proyecto existente funcione. ¡No funcionará incluso si creo un nuevo certificado!
Respuestas:
Finalmente encontré la solución y realmente espero que esto ayude a alguien más.
.csproj
archivo para el proyecto en cuestión.Elimine las siguientes líneas de código:
fuente
ManifestCertificateThumbprint
yManifestKeyFile
resolver el problema.Vaya a las "Propiedades" de su proyecto en Visual Studio. Luego vaya a la pestaña de firma.
Luego, asegúrese de que Firmar el manifiesto de clic una vez esté desactivado.
Instrucciones actualizadas:
Dentro de su Explorador de soluciones:
fuente
¡¡Es sencillo!!
Resolví este problema siguiendo estos pasos:
¡¡Eso es!!
fuente
Elimine la siguiente información relacionada con la firma del certificado en el almacén de certificados
fuente
Pruebe esto: haga clic con el botón derecho en su proyecto -> Vaya a propiedades -> Haga clic en la firma que se encuentra en el lado izquierdo de la pantalla -> Desactive la casilla Firmar el clic una vez que se manifiesta -> Guardar y compilar
fuente
Vaya a sus proyectos "Propiedades" en Visual Studio. Luego vaya a la pestaña de firma.
Luego, asegúrese de que Firmar el manifiesto de clic una vez esté desactivado.
O
1.Abra el archivo .csproj en el Bloc de notas.
2. Elimine la siguiente información relacionada con la firma del certificado en el almacén de certificados xxxxx xxxxxx xxxxxxxx.pfx verdadero falso `
Trabajó para mi.
fuente
Suponiendo que se trata de un certificado personal creado por Windows en el sistema desde el que copió su proyecto, puede usar el administrador de certificados en el sistema donde está el proyecto ahora e importar el certificado. Inicie el administrador de certificados (certmgr) y seleccione los certificados personales, luego haga clic derecho debajo de la lista de certificados existentes y seleccione importar de las tareas. Use el buscador para encontrar el .pfx en el proyecto (el .pfx del sistema anterior que copió con el proyecto). Debe estar en el subdirectorio con el mismo nombre que el directorio del proyecto. Estoy familiarizado con C # y VS, por lo que si ese no es su entorno, tal vez el .pfx esté en otro lugar o tal vez esta sugerencia no se aplique. Después de la importación, debería recibir un mensaje de estado. Si tuvo éxito, el error de compilación del certificado debería desaparecer.
fuente
No es suficiente agregar claves manualmente al almacén de certificados de Windows. El certificado solo contiene la clave pública firmada. También debe importar la clave privada asociada con la clave pública en el certificado. Un archivo .pfx contiene claves públicas y privadas en un solo archivo. Eso es lo que necesitas importar.
fuente
Dijiste que copiaste archivos de otra computadora. Después de copiarlos, ¿los 'desbloqueó'? Específicamente, el archivo .snk debe verificarse para asegurarse de que no esté marcado como inseguro.
fuente
Para firmar un ensamblado con un nombre seguro utilizando atributos
Abierto
AssemblyInfo.cs
(en$(SolutionDir)\Properties
)el
AssemblyKeyFileAttribute
o elAssemblyKeyNameAttribute
, que especifica el nombre del archivo o contenedor que contiene el par de claves que se utilizará al firmar el ensamblado con un nombre seguro.agregue el siguiente código:
fuente
Si solo necesita construir el proyecto o la solución localmente , eliminar la firma podría ser una solución simple como sugieren otros.
Pero si tiene este error en su servidor de compilación de automatización como TeamCity donde construye sus piezas de lanzamiento reales para su implementación o distribución, es posible que desee considerar cómo puede instalar este certificado correctamente en la tienda de certificados en la máquina de compilación, para que obtenga paquetes firmados al final de la compilación.
En general, no se recomienda registrar / confirmar ningún PFX certificado en el control de origen, por lo que la forma de obtener estos archivos en su servidor de compilación durante el proceso de compilación es otra cuestión, pero a veces las personas tienen este archivo almacenado junto con la solución código, para que pueda encontrarlo en la carpeta del proyecto.
Todo lo que necesita hacer es instalar este certificado con la cuenta adecuada en su servidor de compilación.
Descarga PsExec de Windows Sysinternals .
Abra un símbolo del sistema e ingrese lo siguiente. Generará un nuevo símbolo del sistema, ejecutándose como Sistema local (suponiendo que su TeamCity se ejecute con la cuenta predeterminada del Sistema local):
> psexec.exe -i -s cmd.exe
En este nuevo símbolo del sistema, cambie al directorio que contiene el certificado e ingrese el nombre del archivo a instalar (cambie el nombre del archivo al suyo):
> mykey.pfx
Se iniciará el asistente de Importar certificado. Haga clic y seleccione todos los valores predeterminados sugeridos.
Ejecute la compilación.
Todos los créditos van a Stuart Noble (y luego a Laurent Kempé , creo ☺).
fuente