Por que estou recebendo "Não foi possível encontrar o certificado de assinatura de manifesto no repositório de certificados" no meu suplemento do Excel?

216

Eu tenho um projeto de suplemento do Excel que foi criado há alguns anos no Visual Studio 2008. Há algumas alterações a serem feitas, por isso atualizei para o Visual Studio 2010 (o único IDE que posso usar). Não tenho certeza se isso está causando o problema, mas são informações básicas.

Ao fazer o check-out do código e compilá-lo, recebo o erro "Erro 1 Não foi possível encontrar o certificado de assinatura de manifesto no armazenamento de certificados".

Alguém pode me dizer o que isso significa e como corrigi-lo?

Andy Parsons
fonte

Respostas:

250

Você precisa adicionar novamente esse certificado à sua máquina ou escolher outro certificado.

Para escolher outro certificado ou recriar um, vá para a página de propriedades do Projeto, clique na guia Assinatura e

  • Clique em Selecionar da loja
  • Clique em Selecionar do arquivo
  • Clique em Criar certificado de teste

Depois que uma dessas opções estiver pronta, você poderá construí-la novamente.

Sathyajith Bhat
fonte
134
Em Project's properties pagevocê pode ir para Signing tab, em seguida, desmarque a caixa de seleção "Sinal os manifestos ClickOnce".
Rubens Mariuzzo
10
@RubensMariuzzo - não se você realmente quiser assiná-lo #
Matt Wilko 15/01
A desmarcação é impossível para os Suplementos do Office e será verificada novamente.
it3xl
1
Como a operação "Criar certificado de teste" pode ser realizada em um servidor de compilação?
Ryanwebjackson 06/06/19
138

Encontrei esta solução que resolveu o problema para mim: Removendo todas as entradas no seu *.csprojque se enquadram em:

<manifestcertificatethumbprint>...</manifestcertificatethumbprint>
<manifestkeyfile>...</manifestkeyfile>
<generatemanifests>...</generatemanifests>
<signmanifests>...</signmanifests>
Wernight
fonte
1
Isso é necessário quando então a aplicação costumava ser ClickOnce, mas não é mais (caixa acinzentada no separador Assinatura)
Dan Bechard
1
também funcionou para mim. aparentemente, havia algumas sobras no arquivo do projeto de algumas experiências que fizemos que precisavam ser limpas manualmente. BTW - Eu também tive que remover o arquivo .snk do projeto. para mim foi: remover .snk, desativar a assinatura, editar o arquivo do projeto, recarregar o projeto e ativar a assinatura.
OSH
Aparentemente necessário, se você já verificou o ClickOnce e depois mudou para Assinar montagem.
Roland
1
Esta é a melhor resposta.
Homam
3
Desmarcar a opção "Assinando o manifesto ClientOnce" nem sempre funciona. A solução é remover as linhas mencionadas de seus arquivos csproj
néctar
98

Uma solução rápida para começar foi desmarcar a opção "Assinar os manifestos do ClickOnce" em: Projeto -> (nome do projeto) Propriedades -> guia Assinatura

Rudy
fonte
1
Eu tive que desmarcar ambos Sign the ClickOnce manifestse Sign the assemblycaixas de seleção na guia de assinatura nas propriedades do projeto para se livrar do problema. Eu não estava usando nenhuma assinatura.
RBT
13

Quando o projeto foi criado originalmente, o certificado de assinatura clique uma vez foi adicionado na guia de assinatura das propriedades do projeto. Isso assina o manifesto de clique quando você o cria. Entre então e agora, esse certificado não está mais disponível. Ou essa não foi a máquina em que você a montou originalmente ou foi limpa de alguma forma. Você precisa adicionar novamente esse certificado à sua máquina ou escolher outro certificado.

jardineiro
fonte
24
"Você precisa adicionar novamente esse certificado à sua máquina ou escolher outro certificado." Se você souber como adicionar o certificado, seria muito útil indicar o como neste encadeamento ou um link para o como neste encadeamento. Como está, você responde é apenas meia resposta.
1
Página Propriedades do Projeto> Signingnas guias verticais> Clique em Create test certificate. E não se esqueça de confirmar um novo arquivo criado You.Project_TemporaryKey.pfxporque os .pfxarquivos geralmente são ignorados .
it3xl
Penso que esta solução é a única adequada para os projetos do Visula Studio Office.
it3xl
13

A adição de novo certificado resolveu esse problema para mim. Página de propriedades -> assinatura -> Clique em Criar certificado de teste

moglimcgrath
fonte
Existe uma maneira de fazer isso em um servidor de construção (via linha de comando)?
Ryanwebjackson 6/06
8

Certifique-se de confirmar os .pfxarquivos no repositório.

Acabei de encontrar *.pfxno meu padrão .gitignore. Comente (por #) e confirme as alterações. Em seguida, puxe o repositório e reconstrua.

ApceH Hipócrita
fonte
0

O problema de sobras incorretas no arquivo .csproj ainda ocorre com o VS2015update3 e também pode ocorrer se você tentar alterar o certificado de assinatura por um diferente (mesmo que seja gerado usando a opção 'novo' na lista suspensa de seleção de certificado) . O conselho na resposta aceita (marcar como não assinado, salvar, descarregar projeto, editar .csproj, remover as propriedades relacionadas aos certificados / impressões digitais / chaves antigas e recarregar projeto, definir certificado) é confiável.

simon coleman
fonte
0

Eu crio uma nova chave, tive que procurar no csproj pelo antigo e refatorá-lo.

Billy Jake O'Connor
fonte