Reference3.StrongName (Propiedad)
Obtiene si la referencia está firmada con un par de claves privada y pública.
Espacio de nombres: VSLangProj80
Ensamblado: VSLangProj80 (en VSLangProj80.dll)
Sintaxis
'Declaración
ReadOnly Property StrongName As Boolean
Get
bool StrongName { get; }
property bool StrongName {
bool get ();
}
abstract StrongName : bool
function get StrongName () : boolean
Valor de propiedad
Tipo: System.Boolean
Valor boolean que indica si la referencia está firmada con un par de claves privada y pública.
Implementaciones
Comentarios
El valor devuelto depende del tipo de referencia.
Tipo de referencia |
Valor devuelto |
---|---|
Ensamblado |
True si la referencia tiene un nombre seguro. |
COM |
False; los objetos COM no tienen nombres seguros. |
Sólo los ensamblados con nombres seguros pueden colocarse en la caché global de ensamblados. Para obtener más información sobre los nombres seguros y la caché global de ensamblados, vea Ensamblados con nombre seguro, Caché de ensamblados global y Trabajar con ensamblados y la Caché de ensamblados global.
Ejemplos
En este ejemplo se agrega un ensamblado y una referencia COM a un proyecto de Visual Basic o Visual C# abierto. A continuación, se determina si la referencia de ensamblado tiene un nombre seguro. Para la referencia COM, StrongName es false. Para ejecutar este ejemplo como complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.
Las rutas de acceso predeterminadas para la referencia agregada son: <raíz de instalación>\Archivos de programa\Microsoft.NET\Primary Interop Assemblies for adodb.dll y <raíz de instalación>\Archivos de programa\Common Files\SpeechEngines\Microsoft for spcommon.dll. En el ejemplo, reemplace <file path> por éstas u otras rutas de acceso a archivos apropiadas.
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());
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.