Compartilhar via


-addmodule

Faz com que o compilador verifique todos os tipos de informações de arquivos especificados disponíveis para o projeto que você está compilando.

Sintaxe

-addmodule:fileList  

Argumentos

fileList
Obrigatórios. Lista delimitada por vírgulas de arquivos que contêm metadados, mas não manifestos de assembly. Os nomes de arquivo que contêm espaços devem ser cercados por aspas (" ").

Comentários

Os arquivos listados pelo parâmetro fileList devem ser criados com a opção ou com a opção -target:module ou com outro equivalente no compilador a -target:module.

Todos os módulos adicionados com -addmodule devem estar no mesmo diretório que o arquivo de saída em tempo de execução. Ou seja, é possível especificar um módulo em qualquer diretório em tempo de compilação, mas o módulo deve estar no diretório do aplicativo em tempo de execução. Se não estiver, você receberá um erro TypeLoadException.

Se você especificar (implícita ou explicitamente) qualquer opção -target (Visual Basic) diferente de -target:module com -addmodule, os arquivos transmitidos para -addmodule se tornarão parte do assembly do projeto. Um assembly deve executar um arquivo de saída que tenha um ou mais arquivos adicionados com -addmodule.

Use -reference (Visual Basic) para importar metadados de um arquivo que contenha um assembly.

Observação

A opção -addmodule não está disponível no ambiente de desenvolvimento do Visual Studio; ela só está disponível quando se compila na linha de comando.

Exemplo

O código a seguir cria um módulo.

' t1.vb
' Compile with vbc /target:module t1.vb.
' Outputs t1.netmodule.

Public Class TestClass
    Public i As Integer
End Class

O código a seguir importa os tipos do módulo.

' t2.vb
' Compile with vbc /addmodule:t1.netmodule t2.vb.
Option Strict Off

Namespace NetmoduleTest
    Module Module1
        Sub Main()
            Dim x As TestClass
            x = New TestClass
            x.i = 802
            System.Console.WriteLine(x.i)
        End Sub
    End Module
End Namespace

Quando você executa t1, ele gera 802.

Confira também