Especificando o local do arquivo do VSPackage para o Shell do VS
Visual Studio deve ser capaz de localizar a DLL de assembly para carregar o VSPackage. Você pode localizá-lo de várias maneiras, conforme descrito na tabela a seguir.
Método | Descrição |
---|---|
Use a chave do Registro CodeBase. | A chave CodeBase pode ser usada para direcionar o Visual Studio para carregar o assembly VSPackage de qualquer caminho de arquivo totalmente qualificado. O valor da chave deve ser o caminho do arquivo para a DLL. Essa é a melhor maneira de fazer com que o Visual Studio carregue o assembly do pacote. Essa técnica às vezes é chamada de "CodeBase/técnica de diretório de instalação privada". Durante o registro, o valor da base de código é passado para as classes de atributo de registro por meio de uma instância do RegistrationAttribute.RegistrationContext tipo. |
Coloque a DLL no diretório PrivateAssemblies . | Coloque o assembly no subdiretório PrivateAssemblies do diretório do Visual Studio. Os assemblies localizados em PrivateAssemblies são detectados automaticamente, mas não ficam visíveis na caixa de diálogo Adicionar referências . A diferença entre PrivateAssemblies e PublicAssemblies é que os assemblies em PublicAssemblies são enumerados na caixa de diálogo Adicionar referências. Se você optou por não usar a técnica "CodeBase/private installation directory", então você deve instalar no diretório PrivateAssemblies . |
Use um assembly de nome forte e a chave do Registro Assembly. | A chave Assembly pode ser usada para direcionar explicitamente o Visual Studio para carregar um assembly VSPackage forte nomeado. O valor da chave deve ser o nome forte do assembly. |
Coloque a DLL no diretório PublicAssemblies . | Finalmente, o assembly também pode ser colocado no subdiretório PublicAssemblies . Os assemblies localizados em PublicAssemblies são detectados automaticamente e também aparecerão na caixa de diálogo Adicionar referências no Visual Studio. Os assemblies VSPackage só devem ser colocados no diretório PublicAssemblies se contiverem componentes gerenciados que se destinam a ser reutilizados por outros desenvolvedores VSPackage. A maioria das assembleias não atende a esse critério. |
Observação
Use assemblies assinados com nome forte para todos os assemblies dependentes. Esses assemblies também devem ser instalados em seu próprio diretório ou no GAC (cache de assembly global). Isso protege contra conflitos com assemblies que têm o mesmo nome de arquivo base, conhecido como associação de nome fraco.