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


-addmodule

Компилятор делает все сведения о типе из указанных файлов доступными для проекта, который вы компилируете в данный момент.

Синтаксис

-addmodule:fileList  

Аргументы

fileList
Обязательное. Список файлов с разделителями-запятыми, которые содержат метаданные, но не содержат манифесты сборки. Имена файлов, содержащих пробелы, должны быть окружены кавычками ("").

Замечания

Файлы, перечисленные параметром fileList , должны быть созданы с -target:module параметром или с эквивалентом -target:moduleдругого компилятора.

Все модули, добавленные с, -addmodule должны находиться в том же каталоге, что и выходной файл во время выполнения. То есть можно указать модуль в любом каталоге во время компиляции, но модуль должен находиться в каталоге приложения во время выполнения. Если это не так, вы получите ошибку TypeLoadException .

Если вы указываете (неявно или явно) любой целевой параметр (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.

См. также