Como: Criar Friend Assemblies não assinado

Este exemplo mostra como usar conjuntos de módulos de amigo com módulos (assemblies) que estão sem assinatura.

Para criar um assembly e um assembly do amigo no Visual Studio

  1. Crie um novo projeto para um aplicativo Windows Forms chamado FriendAssembliesB.

  2. No menu File, aponte para Add e clique em New Project.

  3. No Adicionar novo projeto diálogo, clicar biblioteca de classes e o nome do projeto FriendAssembliesA.

  4. Substitua o conteúdo de Class1.vb no projeto FriendAssembliesA com o seguinte código.Esse código usa o InternalsVisibleToAttribute atributo declarar FriendAssembliesB sistema autônomo um assembly do amigo.

    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. clicar com o botão direito do mouse o projeto FriendAssembliesB em O gerenciador de soluções e, em seguida, clique em Adicionar referência.

  6. Na caixa de diálogo Add Reference, clique na guia .NET .clicar FriendAssembliesA e, em seguida, clicar OK.

  7. clicar com o botão direito do mouse em Form1.vb no projeto FriendAssembliesB e, em seguida, clique em Exibir código.

  8. Adicione o seguinte código à classe Form1.

    sistema autônomo FriendAssembliesA Especifica FriendAssembliesB sistema autônomo um amigo assembly, o código no FriendAssembliesB pode acessar Friend tipos e membros 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. Pressione F5 para compilar e executar o projeto.

    O programa exibe caixas de mensagens que contêm as seqüências de caracteres "Friend Assemblies Sample classe" e "Friend Assemblies Sample método".

Segurança

Há semelhanças entre o atributo InternalsVisibleToAttribute e a classe StrongNameIdentityPermission.A principal diferença é que StrongNameIdentityPermission pode solicitar permissões de segurança para executar uma determinada seção de código, enquanto o atributo InternalsVisibleToAttribute controla a visibilidade dos tipos e membros Friend.

Consulte também

Tarefas

Como: Criar assinado Friend Assemblies

Conceitos

Assemblies Autorizados (Visual Basic)

Referência

InternalsVisibleToAttribute