Cómo: Crear ensamblados de confianza no firmados
Actualización: noviembre 2007
En este ejemplo se muestra cómo usar los ensamblados de confianza con los ensamblados no firmados.
Para crear un ensamblado y un ensamblado de confianza en Visual Studio
Cree un nuevo proyecto para una aplicación de formularios Windows Forms denominada FriendAssembliesB.
En el menú Archivo, elija Agregar y, después, haga clic en Nuevo proyecto.
En el cuadro de diálogo Agregar nuevo proyecto, haga clic en Biblioteca de clases y denomine el proyecto FriendAssembliesA.
Reemplace el contenido de Class1.vb en el proyecto FriendAssembliesA con el código siguiente. Este código usa el atributo InternalsVisibleToAttribute para declarar FriendAssembliesB como ensamblado de confianza.
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("FriendAssembliesB")> ' Friend class. Friend Class FriendAssembliesA Public Sub Test() MsgBox("Friend Assemblies Sample Class") End Sub End Class ' Public class with a Friend method. Public Class FriendAssembliesClassA Friend Sub Test() MsgBox("Friend Assemblies Sample Method") End Sub End Class
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto FriendAssembliesB y, a continuación, haga clic en Agregar referencia.
En el cuadro de diálogo Agregar referencia, seleccione la ficha Proyectos. Haga clic en FriendAssembliesA y, a continuación, en Aceptar.
Haga clic con el botón secundario del mouse en Form1.vb del proyecto FriendAssembliesB y, a continuación, haga clic en Ver código.
Agregue el código siguiente a la clase Form1.
Dado que FriendAssembliesA especifica FriendAssembliesB como ensamblado de confianza, el código en FriendAssembliesB puede obtener acceso a los miembros y tipos Friend de FriendAssembliesA.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load ' Access a Friend class. Dim friendTest1 As New FriendAssembliesA friendTest1.Test() Dim friendTest2 As New FriendAssembliesClassA ' Access a Friend method. friendTest2.Test() End Sub
Presione F5 para compilar y ejecutar el proyecto.
El programa muestra cuadros de mensaje que contienen las cadenas "Friend Assemblies Sample Class" y "Friend Assemblies Sample Method".
Seguridad
Hay similitudes entre el atributo InternalsVisibleToAttribute y la clase StrongNameIdentityPermission. La diferencia principal es que StrongNameIdentityPermission puede exigir los permisos de seguridad para ejecutar una sección de código determinada, mientras que el atributo InternalsVisibleToAttribute controla la visibilidad de los miembros y tipos Friend.
Vea también
Tareas
Cómo: Crear ensamblados de confianza firmados
Conceptos
Ensamblados Friend (Visual Basic)