Propriedade Reference3.StrongName
Obtém se a referência é assinada com um par de chaves pública/particular.
Namespace: VSLangProj80
Assembly: VSLangProj80 (em VSLangProj80.dll)
Sintaxe
'Declaração
ReadOnly Property StrongName As Boolean
bool StrongName { get; }
property bool StrongName {
bool get ();
}
abstract StrongName : bool
function get StrongName () : boolean
Valor de propriedade
Tipo: System.Boolean
A boolean valor que indica se a referência é assinada com um par de chaves pública/particular.
Comentários
O valor retornado depende do tipo de referência.
Tipo de referência |
Valor retornado |
---|---|
Assembly |
True se a referência tem um nome forte. |
COM |
False; Objetos COM não têm nomes de alta segurança. |
Somente assemblies com nomes de alta segurança podem ser colocados no cache global de assemblies.Para obter mais informações sobre nomes de alta segurança e o cache global de assemblies, consulte Assemblies de nomes fortes, Cache global de assemblies, e Trabalhando com Assemblies e o Cache Global de assemblies.
Exemplos
Este exemplo adiciona um Assembly e uma referência COM uma abertura Visual Basic ou Visual C# project.Em seguida, ele determina se a referência do assembly tem um nome forte.Para referência COM, StrongName é false.Para executar este exemplo como um add-in, consulte Como: compilar e executar os exemplos de código de modelo de objeto de automação.
Os caminhos padrão para a referência adicional são: < raiz da instalação >\Program Files\Microsoft.NET\Primary Interop Assemblies para adodb.dll, e < raiz da instalação >\Program Files\Common Files\SpeechEngines\Microsoft para spcommon.dll.Substituir < caminho do arquivo > no exemplo com esses ou outros caminhos de arquivo apropriado.
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object, _
ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
applicationObject = CType(application, DTE2)
addInInstance = CType(addInInst, AddIn)
DisplayStrongNameValue(applicationObject)
End Sub
Sub DisplayStrongNameValue(ByVal dte As DTE2)
Dim aProject As Project
Dim aVSProject As VSProject2
aProject = applicationObject.Solution.Projects.Item(1)
aVSProject = _
CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
' Add an Assembly reference and display its strong name value.
Dim newRef As Reference3
' Replace the <file path> with an actual file path.
newRef = CType(aVSProject.References.Add("<file path>\adodb.dll"), _
Reference3)
MsgBox("Added an assembly reference, named: " & newRef.Name)
MsgBox("The StrongName value of " & newRef.Name & " is " _
& newRef.StrongName.ToString())
' Add a COM reference and display its strong name value.
' Replace <file path> with an actual file path.
newRef = CType(aVSProject.References.Add
("<file path>\spcommon.dll"), Reference3)
MsgBox("Added a COM reference, named: " & newRef.Name)
MsgBox("The StrongName value of " & newRef.Name & " is " _
& newRef.StrongName.ToString())
End Sub
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application,
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
applicationObject = (DTE2)application;
addInInstance = (AddIn)addInInst;
DisplayStrongNameValue(((DTE2)applicationObject));
}
public void DisplayStrongNameValue(DTE2 dte)
{
// The first project is a Visual Basic or C# project.
VSProject2 vsProject =
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
Reference3 aRef = null;
// Add an Assembly reference and display its strong name value.
' Replace the <file path> with an actual file path.
aRef = (Reference3)vsProject.References.Add(@"<file path>\adodb.dll");
MessageBox.Show("Added an Assembly reference, named: "
+ aRef.Name);
MessageBox.Show("The StrongName value of " + aRef.Name + " is "
+ aRef.StrongName.ToString());
// Add a COM reference and display its strong name value.
' Replace <file path> with an actual file path.
aRef = (Reference3)vsProject.References.Add
(@"<file path>\spcommon.dll");
MessageBox.Show("Added a COM reference named: " + aRef.Name);
MessageBox.Show("The StrongName value of " + aRef.Name + " is "
+ aRef.StrongName.ToString());
}
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.