Partilhar via


-addmodule

Faz com que o compilador disponibilize todas as informações de tipo do(s) arquivo(s) especificado(s) para o projeto que você está compilando no momento.

Sintaxe

-addmodule:fileList  

Argumentos

fileList
Obrigatório. Lista delimitada por vírgulas de arquivos que contêm metadados, mas não contêm manifestos de assembly. Os nomes de ficheiros que contenham espaços devem estar entre aspas (" ").

Observações

Os arquivos listados pelo fileList parâmetro devem ser criados com a opção ou com o equivalente de -target:module outro 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, você pode 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 for, você recebe um TypeLoadException erro.

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

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

Nota

A -addmodule opção não está disponível no ambiente de desenvolvimento do Visual Studio, ela está disponível apenas ao compilar a partir da 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 t1o , ele produz 802.

Consulte também