"Incapaz de encontrar o certificado de assinatura manifesto no Armazém do certificado" - mesmo quando adicionar uma nova chave

não posso construir projectos com uma assinatura forte de uma chave de nome - a mensagem no título aparece sempre.

Sim, o projecto foi inicialmente copiado de outra máquina. No entanto, mesmo que eu adicione uma nova chave através da página de assinatura nas propriedades do projecto, este erro ainda é mostrado.

tentei correr o Visual Studio como Administrador e tentei adicionar manualmente as chaves à loja de certificados do Windows.

Socorro!

editar: Não consigo este erro com um novo projecto, mas gostaria de pôr este projecto existente a funcionar. Não vai funcionar mesmo se eu criar um novo certificado!

Author: Marcus, 2012-08-14

11 answers

Finalmente encontrei a solução e espero que isto ajude outra pessoa também.
  1. edite o ficheiro .csproj para o projecto em questão.
  2. Riscar as seguintes linhas de código:

    <PropertyGroup>
       <ManifestCertificateThumbprint>...........</ManifestCertificateThumbprint>
    </PropertyGroup>
    <PropertyGroup>
       <ManifestKeyFile>xxxxxxxx.pfx</ManifestKeyFile>
    </PropertyGroup>
    <PropertyGroup>
       <GenerateManifests>true</GenerateManifests>
    </PropertyGroup>
    <PropertyGroup>
       <SignManifests>false</SignManifests>
    </PropertyGroup>
    
 129
Author: Marcus, 2015-11-28 06:37:14
Vai para as "propriedades" do teu projecto dentro do estúdio visual. Então VAI assinar a conta. Depois assinem o Click quando os manifestos estiverem desligados.

Instruções Actualizadas:

Dentro de sua solução Explorer:

  1. carregue com o botão direito no seu projecto
  2. carregue nas propriedades
  3. normalmente do lado esquerdo, seleccione a página "Assinatura"
  4. riscar o sinal ... Manifestos de ClickOnce
  5. certifica-te que salvas!

enter image description here

 73
Author: ADL, 2017-04-20 18:15:46
Tenta isto.: Carregue com o botão direito no seu projecto - > vá para Propriedades - > Carregue em Assinatura que é do lado esquerdo do ecrã - > Desligue O Assine o botão uma vez manifesta - > gravar e compilar
 11
Author: Kamala HB, 2016-11-28 08:53:04
    Abre a porta .ficheiro csproj no bloco de notas.
  1. Apague as seguintes informações relacionadas com a assinatura do certificado no Armazém do certificado

    <PropertyGroup>
      <ManifestCertificateThumbprint>xxxxx xxxxxx</ManifestCertificateThumbprint>
      <ManifestKeyFile>xxxxxxxx.pfx</ManifestKeyFile>
    <GenerateManifests>true</GenerateManifests>
    <SignManifests>false</SignManifests>
    </PropertyGroup>
    
 9
Author: Rajamohan Rajendran, 2015-11-28 06:38:03
Vão para os vossos projectos "propriedades" dentro do estúdio visual. Então VAI assinar a conta. Depois assinem o Click quando os manifestos estiverem desligados.

Ou

1.Abre a porta .ficheiro csproj no bloco de notas.

2.Apagar as seguintes informações relacionadas com o certificado de assinatura no Armazém do certificado xxxxxxxxx xxxxxxxx.pfx verdadeiro falso `

Funcionou comigo.
 4
Author: Ash, 2016-05-05 15:50:55

Assumindo que este é um certificado pessoal criado pelo windows no sistema do qual copiou o seu projecto, poderá usar o Gestor de certificados no sistema onde o projecto está agora e importar o certificado. Inicie o Gestor de certificados (certmgr) e seleccione os certificados pessoais e carregue com o botão direito em baixo da lista de certificados existentes e seleccione Importar das tarefas. Use o browse para encontrar o .pfx no projeto (the .pfx do sistema anterior com o qual copiou projecto). Deve estar no sub-diretório com o mesmo nome que o diretório do projeto. Estou familiarizado com C# E VS, então se esse não é o seu ambiente talvez o.pfx estará em outro lugar ou talvez esta sugestão não se aplique. Após a importação, você deve obter uma mensagem de Estado. Se tiver sucesso, o erro do certificado de compilação deverá desaparecer.certmgr screen

 2
Author: dpminusa, 2014-10-27 17:52:20
É simples!!

Resolvi este problema seguindo estes passos:

  1. abrir as propriedades do projecto img
  2. carregue na página de assinatura
  3. e desmarcar "assinar o conjunto"
É isso!!
 2
Author: Amit Kadam, 2018-04-29 10:24:21

Não é suficiente adicionar manualmente chaves à loja de certificados do Windows. O certificado contém apenas a chave pública assinada. Você também deve importar a chave privada que está associada com a chave pública no certificado. A.o ficheiro pfx contém chaves públicas e privadas num único ficheiro. É isso que precisas de importar.

 0
Author: Owen Wengerd, 2012-08-23 21:10:31
Disseste que copiavas ficheiros de outro computador. Depois de os copiares, desbloqueaste-os? Especificamente o .o ficheiro snk deve ser verificado para ter a certeza que não está marcado como inseguro.
 0
Author: Owen Wengerd, 2012-08-24 15:39:24

Para assinar um conjunto com um nome forte usando atributos

Abrir AssemblyInfo.cs (em $(SolutionDir)\Properties)

O AssemblyKeyFileAttribute ou o AssemblyKeyNameAttribute, especificando o nome do ficheiro ou contentor que contém o par de chaves a usar ao assinar o conjunto com um nome forte.

Aditar o seguinte código:

[assembly:AssemblyKeyFileAttribute("keyfile.snk")]
 0
Author: QuangNHb, 2015-11-28 06:38:39

Se você precisa apenas construir o projeto ou solução localmente {[5] } então remover a assinatura pode ser uma solução simples morta, como outros sugerem.

Mas se tiver este erro no seu servidor de compilação de automação, como o TeamCity, onde constrói as suas peças de lançamento reais para a implantação ou distribuição, poderá querer considerar como poderá instalar este certificado correctamente na loja do cert na máquina de compilação, de modo a obter um pacote assinado no final do construir.

Geralmente não é reiniciado para fazer o check-in/commit qualquer PFX para o controlo de código, por isso, como é que consegue estes ficheiros no seu servidor de compilação durante o processo de compilação é um pouco outra questão, mas às vezes as pessoas têm este ficheiro guardado juntamente com o código da solução, para que o possa encontrar na pasta do projecto.

Tudo o que precisa de fazer é instalar este certificado em a conta adequada no seu servidor de compilação.

  1. Obter PsExec do Windows Sysinternals .

  2. Abra uma linha de comandos, e indique o seguinte. Irá gerar uma nova linha de comandos, a correr como Sistema Local (assumindo que a sua unidade está a correr sob a conta de Sistema Local por omissão):

    > psexec.exe -i -s cmd.exe

  3. Nesta nova linha de comandos, mude para a pasta que contém o certificado e indique o nome do ficheiro a instalar (mude o nome do ficheiro para yours):

    > mykey.pfx

  4. O Assistente de importação de certificados irá iniciar. Carregue e seleccione TODOS os valores por omissão sugeridos.

  5. Executa a construção.

Todos os créditos vão para Stuart Noble (e depois mais para Laurent Kempé ([11]} Eu acredito em☺).
 0
Author: Sevenate, 2018-07-03 22:58:57