Assinar pacotes VSIX
Os assemblies de extensão não precisam ser assinados antes de serem executados no Visual Studio, mas é uma boa prática fazer isso.
Se você quiser proteger sua extensão e garantir que ela não tenha sido adulterada, você pode adicionar uma assinatura digital a um pacote VSIX. Quando um VSIX é assinado, o instalador do VSIX exibirá uma mensagem indicando que ele está assinado, além de mais informações sobre a assinatura em si. Se o conteúdo do VSIX tiver sido modificado e o VSIX não tiver sido assinado novamente, o instalador do VSIX mostrará que a assinatura não é válida. A instalação não é interrompida, mas o usuário é avisado.
Importante
A partir do Visual Studio 2015, os pacotes VSIX assinados usando qualquer coisa diferente da criptografia SHA256 serão identificados como tendo uma assinatura inválida. A instalação do VSIX não está bloqueada, mas o usuário será avisado.
Assinando um VSIX com VSIXSignTool
Há uma ferramenta de assinatura de criptografia SHA256 disponível no VisualStudioExtensibility em nuget.org no VsixSignTool.
Para usar o VSIXSignTool
Adicione seu VSIX a um projeto.
Clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções, selecionando Adicionar | Gerenciar pacotes NuGet. Para obter mais informações sobre o NuGet e a adição de pacotes NuGet, consulte a documentação do NuGet e os tópicos da interface do usuário do Gerenciador de Pacotes.
Procure VSIXSignTool em VisualStudioExtensibility e instale o pacote NuGet.
Agora você pode executar o VSIXSignTool a partir do local de pacotes locais do projeto. Consulte a ajuda da linha de comando da ferramenta para seu cenário de assinatura (VSIXSignTool.exe /?).
Por exemplo, para assinar com um arquivo de certificado protegido por senha:
VSIXSignTool.exe sinal /f <certfile /p <senha><VSIXfile>>