Método References.Add
Adiciona uma nova referência ao projeto.
Namespace: VSLangProj
Assembly: VSLangProj (em VSLangProj.dll)
Sintaxe
'Declaração
Function Add ( _
bstrPath As String _
) As Reference
Reference Add(
string bstrPath
)
Reference^ Add(
[InAttribute] String^ bstrPath
)
abstract Add :
bstrPath:string -> Reference
function Add(
bstrPath : String
) : Reference
Parâmetros
- bstrPath
Tipo: System.String
Required.O caminho de um suplemento COM ou.Referência do NET Framework.
Este parâmetro pode levar de três formas:
Um simples.Nome do objeto de NET Framework, como, por exemplo, "Sistema".
A.Nome de arquivo do NET Framework (arquivo. tlb,. dll ou. ocx).
Um arquivo de biblioteca COM (arquivo. tlb,. dll,. ocx ou. exe).Para objetos COM, o caminho precisa incluir um nome completo de caminho e arquivo, como "D:\SomeApplication\SomeApp.dll".Consulte as restrições de "COM referências" seção abaixo sobre como adicionar referências de arquivo COM. exe.
Valor de retorno
Tipo: VSLangProj.Reference
Retorna um Reference objeto.
Comentários
Será gerado um erro se não houver nenhuma biblioteca de tipos de arquivo indicado pela bstrPath parâmetro ou a referência não pode ser resolvidos (consulte a seção de resolução de referência).
Este método não gera um erro se existe uma referência do projeto com o mesmo Identity, Culture, MajorVersion, MinorVersion, BuildNumber, e RevisionNumber como a nova referência. Essa condição indicaria que a referência indicada pela bstrPath parâmetro já foi adicionado ao projeto. Em vez disso, o ProjectItem de referência já no projeto correspondente será retornada.
Se uma referência com o mesmo Identity , mas diferentes MajorVersion, MinorVersion, BuildNumber, RevisionNumber, ou Culture encontrado no projeto, o método gera um erro.
Para remover uma referência, use o Remove.
Referências COM
Esse método retorna o Reference o objeto para a primeira biblioteca de tipo no arquivo sendo referenciado.
Este método adiciona todos os objetos encontrados no arquivo de biblioteca de tipo e quaisquer dependências desses objetos. Portanto, uma única chamada para esse método pode resultar em mais de uma referência que está sendo adicionada a References coleção.
Arquivos. exe de COM podem ser adicionados como referências, se eles contêm bibliotecas de tipos. Nesse caso, as referências a bibliotecas de tipo registradas todas as contidas no arquivo. exe são adicionadas.
.NET Framework referências
Esse método retorna o Reference o objeto para o assembly sendo referência.
Essas referências não tem um arquivo de biblioteca de tipo, portanto, nenhuma assemblies dependentes são adicionados como referências ao projeto.
Se a referência é um assembly que também incorporou bibliotecas de tipos, apenas uma referência ao assembly é adicionada.
Referências a.Arquivos do NET Framework. exe são permitidos.
Resolução de referência
Quando o arquivo de projeto é salvo, os caminhos para as referências não são salvas como parte do projeto. Isso permite que o arquivo de projeto a ser compartilhada entre computadores com mais facilidade. Por exemplo, System. dll pode estar armazenado em C:\Bigfolder no computador A, e ele pode ser armazenado em D:\Smallfolder no computador b. Para.NET Framework faz referência, apenas o nome do assembly de referência é persistente. Assim, para System. dll, "Sistema" é mantido.
Compiladores aceitam apenas referências na forma de caminho completo e nome do arquivo, por exemplo, C:\Bigfolder\system.dll. Portanto, deve haver alguma forma consistente de localização de assemblies em tempo de design. Um assembly é resolvido se o caminho completo para o assembly pode ser localizado. O caminho de resolvido é o caminho completo para a referência. Continuando com o exemplo de sistema, se System. dll for encontrado em C:\Bigfolder e System. dll for resolvido, o seu caminho resolvido é C:\Bigfolder\System.dll.
Para resolver uma referência, o ambiente de desenvolvimento cria um nome de pesquisa da referência e procura a referência. O nome de pesquisa é criado para que inclua a extensão. dll, desde que o nome salvo para uma referência pode ou não incluir a extensão. dll. As duas referências, ReferenceOne e ReferenceTwo.dll, terão os nomes, ReferenceOne.dll e ReferenceTwo.dll, respectivamente.
O ambiente de desenvolvimento localiza o nome na seguinte ordem, parando assim que uma correspondência for encontrada:
Na hierarquia do projeto.
No caminho de pesquisa de referências, que é uma configuração de nível de projeto. For more information, see ReferencePath.
No conjunto de diretórios, o seletor de componente usa ao enumerar referências. Este conjunto de diretórios é armazenado no registro durante a instalação.
Cada referência é resolvida quando um projeto é carregado. A resolução também ocorre em uma nova referência quando o bstrPath parâmetro para o Add método é algo diferente de um caminho completo
Se uma referência não pode ser resolvida, um erro é gerado. Referências COM sempre será resolvidas, porque o nome de caminho completo é necessário o bstrPath parâmetro. Se a bstrPath parâmetro é o.Nome do NET Framework (por exemplo, SomeObject) ou o.NET Framework nome sem o caminho (por exemplo, SomeObject.dll) do arquivo, em seguida, é possível que a referência não pode ser resolvida, e um erro é gerado.
Exemplos
' Macro Editor
Imports VSLangProj
Sub AddExample()
' This example assumes that the first project in the solution is
' either a Visual Basic or C# project.
Dim aVSProject As VSProject = _
CType(DTE.Solution.Projects.Item(1).Object, VSProject)
Dim refs As References = aVSProject.References
' Adds a reference to a compiled .NET project.
refs.Add("C:\path\program.dll")
' Adds a reference to an installed ActiveX control.
refs.Add("C:\WINNT\system32\msmask32.ocx")
' Adds a reference to System.dll as an example of adding a
' reference using just the simple name.
refs.Add("System")
End Sub
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.