다음을 통해 공유


/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 명령줄 컴파일러