-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
, -addmodule
os 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 -addmodule
o .
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 t1
o , ele produz 802
.