Não consigo criar projetos com uma assinatura de chave de nome forte - a mensagem no título sempre aparece.
Sim, o projeto foi inicialmente copiado de outra máquina. No entanto, mesmo se eu adicionar uma nova chave na guia Assinatura em Propriedades do projeto, esse erro ainda será mostrado.
Tentei executar o Visual Studio como administrador e tentei adicionar manualmente as chaves ao Windows Certificate Store.
Socorro!
Edit: Eu não recebo esse erro com um novo projeto, mas eu gostaria que esse projeto existente funcionasse. Não funcionará mesmo se eu criar um novo certificado!
Respostas:
Finalmente encontrei a solução e realmente espero que isso ajude outra pessoa também.
.csproj
arquivo para o projeto em questão.Exclua as seguintes linhas de código:
fonte
ManifestCertificateThumbprint
eManifestKeyFile
resolvendo o problema.Vá para "Propriedades" do seu projeto no visual studio. Em seguida, vá para a guia de assinatura.
Em seguida, verifique se a opção Assinar os manifestos do Click Once está desativada.
Instruções atualizadas:
No seu Gerenciador de Soluções:
fonte
É simples!!
Resolvi esse problema seguindo estas etapas:
É isso aí!!
fonte
Exclua as seguintes informações relacionadas à assinatura de certificado no armazenamento de certificados
fonte
Tente isso: Clique com o botão direito do mouse em seu projeto -> Vá para Propriedades -> Clique em Assinar, que fica no lado esquerdo da tela -> Desmarque a opção Assinar que o clique se manifesta -> Salvar e criar
fonte
Vá para seus projetos "Propriedades" no visual studio. Em seguida, vá para a guia de assinatura.
Em seguida, verifique se a opção Assinar os manifestos do Click Once está desativada.
OU
1.Abra o arquivo .csproj no bloco de notas.
2.Exclua as seguintes informações relacionadas à assinatura do certificado no armazenamento de certificados xxxxx xxxxxx xxxxxxxx.pfx true false `
Trabalhou para mim.
fonte
Supondo que este seja um certificado pessoal criado pelo Windows no sistema em que você copiou o projeto, você pode usar o gerenciador de certificados no sistema em que o projeto está agora e importar o certificado. Inicie o gerenciador de certificados (certmgr) e selecione os certificados pessoais, clique com o botão direito do mouse abaixo da lista de certificados existentes e selecione importar das tarefas. Use a navegação para encontrar o .pfx no projeto (o .pfx do sistema anterior que você copiou com o projeto). Ele deve estar no subdiretório com o mesmo nome que o diretório do projeto. Estou familiarizado com C # e VS, portanto, se esse não for o seu ambiente, talvez o .pfx esteja em outro lugar ou talvez essa sugestão não se aplique. Após a importação, você deverá receber uma mensagem de status. Se você conseguiu, o erro de compilação do certificado deve desaparecer.
fonte
Não é suficiente adicionar chaves manualmente ao armazenamento de certificados do Windows. O certificado contém apenas a chave pública assinada. Você também deve importar a chave privada associada à chave pública no certificado. Um arquivo .pfx contém chaves públicas e privadas em um único arquivo. É isso que você precisa importar.
fonte
Você disse que copiou arquivos de outro computador. Depois de copiá-los, você os 'desbloqueou'? Especificamente, o arquivo .snk deve ser verificado para garantir que não esteja marcado como inseguro.
fonte
Para assinar uma montagem com um nome forte usando atributos
Aberto
AssemblyInfo.cs
(em$(SolutionDir)\Properties
)o
AssemblyKeyFileAttribute
ou oAssemblyKeyNameAttribute
, especificando o nome do arquivo ou contêiner que contém o par de chaves a ser usado ao assinar o assembly com um nome forte.adicione o seguinte código:
fonte
Se você precisar apenas criar o projeto ou solução localmente , remover a assinatura pode ser uma solução simples, como sugerem outros.
Porém, se você tiver esse erro no servidor de automação, como o TeamCity, no qual você constrói suas versões reais para implantação ou distribuição, considere como pode obter esse certificado corretamente instalado no armazenamento de certificados na máquina de compilação, para obter um pacote assinado no final da compilação.
Geralmente, não é recomendável fazer check-in / confirmar nenhum certificado PFX no controle de origem, portanto, como você obtém esses arquivos no servidor de compilação durante o processo de compilação é outra questão, mas às vezes as pessoas têm esse arquivo armazenado junto com a solução código, para que você possa encontrá-lo na pasta do projeto.
Tudo o que você precisa fazer é instalar este certificado na conta adequada no servidor de compilação.
Faça o download do PsExec no Windows Sysinternals .
Abra um prompt de comando e digite o seguinte. Irá gerar um novo prompt de comando, sendo executado como Sistema Local (supondo que seu TeamCity esteja sendo executado na conta padrão do Sistema Local):
> psexec.exe -i -s cmd.exe
Nesse novo prompt de comando, mude para o diretório que contém o certificado e insira o nome do arquivo a ser instalado (altere o nome do arquivo para o seu):
> mykey.pfx
O assistente para Importar Certificado será iniciado. Clique e selecione todos os padrões sugeridos.
Execute a compilação.
Todos os créditos vão para Stuart Noble (e depois para Laurent Kempé , acredito).
fonte