Поделиться через


-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.

См. также