Share via


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

  1. Cree un nuevo proyecto para una aplicación de formularios Windows Forms denominada FriendAssembliesB.

  2. En el menú Archivo, elija Agregar y, después, haga clic en Nuevo proyecto.

  3. En el cuadro de diálogo Agregar nuevo proyecto, haga clic en Biblioteca de clases y denomine el proyecto FriendAssembliesA.

  4. 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
    
  5. 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.

  6. En el cuadro de diálogo Agregar referencia, seleccione la ficha Proyectos. Haga clic en FriendAssembliesA y, a continuación, en Aceptar.

  7. 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.

  8. 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
    
  9. 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)

Referencia

InternalsVisibleToAttribute