-addmodule
Дает компилятору указание сделать всю информацию о типах из указанных файлов доступной компилируемому проекту.
Синтаксис
-addmodule:fileList
Аргументы
fileList
Обязательный. Разделенный запятыми список файлов, содержащих метаданные, но не содержащих манифесты сборки. Имена файлов, содержащие пробелы, должны быть заключены в кавычки (" ").
Замечания
Файлы, перечисленные в параметре fileList
, должны быть созданы с использованием параметра -target:module
или параметра, эквивалентного -target:module
, в другом компиляторе.
Все модули, добавленные с помощью -addmodule
, во время выполнения должны находиться в том же каталоге, что и выходной файл. То есть во время компиляции можно указать модуль в любом каталоге, но во время выполнения он должен находиться в каталоге приложения. В противном случае возникает ошибка TypeLoadException.
При указании (неявно или явно) любого параметра -target (Visual Basic), кроме -target:module
с -addmodule
, файлы, передаваемые в -addmodule
, становятся частью сборки проекта. Сборка необходима для запуска выходного файла, который содержит один или несколько файлов, добавленных с помощью -addmodule
.
Используйте параметр -reference (Visual Basic) для импорта метаданных из файла, содержащего сборку.
Примечание.
Параметр -addmodule
недоступен в среде разработки Visual Studio. Его можно использовать только при компиляции из командной строки.
Пример
Следующий код создает модуль.
' t1.vb
' Compile with vbc /target:module t1.vb.
' Outputs t1.netmodule.
Public Class TestClass
Public i As Integer
End Class
Следующий код импортирует типы модуля.
' 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
При запуске t1
он выводит 802
.