다음을 통해 공유


다중 파일 어셈블리

비고

이 문서는 .NET Framework에만 적용됩니다. .NET 6 이상 버전을 포함하여 .NET의 최신 구현에는 적용되지 않습니다.

명령줄 컴파일러 또는 Visual Studio와 Visual C++를 사용하여 .NET Framework를 대상으로 하는 다중 파일 어셈블리를 만들 수 있습니다. 어셈블리의 한 파일에는 어셈블리 매니페스트가 포함되어야 합니다. 애플리케이션을 시작하는 어셈블리는 Main 또는 WinMain 메서드와 같은 진입점도 포함해야 합니다.

예를 들어 Client.cs 및 Stringer.cs 두 개의 코드 모듈이 포함된 애플리케이션이 있다고 가정 합니다. Stringer.cs Client.cs 코드에서 참조하는 네임스페이스를 만듭니다myStringer. Client.cs 애플리케이션의 Main 진입점인 메서드를 포함합니다. 이 예제에서는 두 코드 모듈을 컴파일한 다음 어셈블리 매니페스트가 포함된 세 번째 파일을 만들어 애플리케이션을 시작합니다. 어셈블리 매니페스트는 클라이언트 모듈과 Stringer 모듈을 모두 참조합니다.

비고

어셈블리에 여러 코드 모듈이 있는 경우에도 다중 파일 어셈블리에는 하나의 진입점만 있을 수 있습니다.

다중 파일 어셈블리를 만들려는 몇 가지 이유가 있습니다.

  • 다른 언어로 작성된 모듈을 결합합니다. 이것이 다중 파일 어셈블리를 만드는 가장 일반적인 이유입니다.

  • 필요한 경우에만 다운로드되는 모듈에 거의 사용되지 않는 형식을 배치하여 애플리케이션 다운로드를 최적화합니다.

  • 여러 개발자가 작성한 코드 모듈을 결합합니다. 각 개발자는 각 코드 모듈을 어셈블리로 컴파일할 수 있지만 모든 모듈을 다중 파일 어셈블리에 넣으면 노출되지 않는 일부 형식이 공개적으로 노출되도록 할 수 있습니다.

어셈블리를 만든 후에는 어셈블리 매니페스트가 포함된 파일에 서명하여 어셈블리에 서명하거나 파일과 어셈블리에 강력한 이름을 지정하고 전역 어셈블리 캐시에 넣을 수 있습니다.

참고하십시오