Share via


/addmodule

컴파일러가 지정된 파일의 모든 형식 정보를 현재 컴파일 중인 프로젝트에서 사용할 수 있도록 만듭니다.

/addmodule:fileList

인수

  • fileList
    필수적 요소로서, 메타데이터는 포함되고 어셈블리 매니페스트는 포함되지 않은 파일을 쉼표로 구분한 목록입니다. 파일 이름에 공백이 들어 있는 경우 해당 이름을 따옴표(" ")로 묶어야 합니다.

설명

fileList 매개 변수로 나열된 파일은 /target:module 옵션을 사용하거나 다른 컴파일러의 /target:module에 해당하는 옵션을 사용하여 만들어야 합니다.

/addmodule로 추가한 모든 모듈은 런타임에 출력 파일과 동일한 디렉터리에 있어야 합니다. 즉, 컴파일 타임에는 모든 디렉터리에 모듈을 지정할 수 있지만 런타임에는 모듈이 응용 프로그램 디렉터리에 있어야 합니다. 그렇지 않으면 TypeLoadException 오류가 발생합니다.

/addmodule과 함께 /target:module 이외의 /target(Visual Basic) 옵션을 암시적 또는 명시적으로 지정하면 /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가 출력됩니다.

참고 항목

참조

/target(Visual Basic)

/reference(Visual Basic)

샘플 컴파일 명령줄(Visual Basic)

기타 리소스

Visual Basic 컴파일러