AL(어셈블리 링커) 작업AL (Assembly Linker) Task

AL 작업은 Windows SDK(소프트웨어 개발 키트)Windows Software Development Kit (SDK)와 함께 배포되는 도구인 AL.exe를 래핑합니다.The AL task wraps AL.exe, a tool that is distributed with the Windows SDK(소프트웨어 개발 키트)Windows Software Development Kit (SDK). 이 어셈블리 링커 도구는 모듈 또는 리소스 파일에 해당하는 하나 이상의 파일에 있는 매니페스트로 어셈블리를 생성하는 데 사용됩니다.This Assembly Linker tool is used to create an assembly with a manifest from one or more files that are either modules or resource files. 컴파일러 및 개발 환경에서 이러한 기능을 이미 제공할 수 있으므로 이 작업을 직접 사용할 필요가 없는 경우가 많습니다.Compilers and development environments might already provide these capabilities, so it is often not necessary to use this task directly. 어셈블리 링커는 혼합 언어 개발에서 생성될 수 있는 것과 같은 여러 구성 요소 파일에서 단일 어셈블리를 만들어야 하는 개발자에게 가장 유용합니다.The Assembly Linker is most useful to developers needing to create a single assembly from multiple component files, such as those that might be produced from mixed-language development. 이 작업은 모듈을 단일 어셈블리 파일로 결합하지 않습니다. 결과 어셈블리가 올바르게 로드되려면 여전히 개별 모듈이 분산되어야 하고 사용 가능해야 하기 때문입니다.This task does not combine the modules into a single assembly file; the individual modules must still be distributed and available in order for the resulting assembly to load correctly. AL.exe에 대한 자세한 내용은 Al.exe(어셈블리 링커)를 참조하세요.For more information on AL.exe, see Al.exe (Assembly Linker).

매개 변수Parameters

다음 표에서는 AL 작업의 매개 변수에 대해 설명합니다.The following table describes the parameters of the AL task.

매개 변수Parameter 설명Description
AlgorithmID 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리 매니페스트가 포함된 파일을 제외하고 다중 파일 어셈블리에 있는 모든 파일을 해시하는 알고리즘을 지정합니다.Specifies an algorithm to hash all files in a multifile assembly except the file that contains the assembly manifest. 자세한 내용은 Al.exe(어셈블리 링커)/algid 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /algid option in Al.exe (Assembly Linker).
BaseAddress 선택적 String 매개 변수입니다.Optional String parameter.

런타임에 DLL이 사용자의 컴퓨터에 로드되는 주소를 지정합니다.Specifies the address at which a DLL will be loaded on the user's computer at run time. 운영 체제가 프로세스 공간에서 DLL을 재배치하게 하지 않고 DLL의 기본 주소를 직접 지정하면 응용 프로그램의 로드 속도가 빨라집니다.Applications load faster if you specify the base address of the DLLs, rather than letting the operating system relocate the DLLs in the process space. 이 매개 변수는 /baseaddress에 해당합니다.This parameter corresponds to the /baseaddress.
CompanyName 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Company 필드에 대한 문자열을 지정합니다.Specifies a string for the Company field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/comp[any] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /comp[any] option in Al.exe (Assembly Linker).
Configuration 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Configuration 필드에 대한 문자열을 지정합니다.Specifies a string for the Configuration field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/config[uration] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /config[uration] option in Al.exe (Assembly Linker).
Copyright 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Copyright 필드에 대한 문자열을 지정합니다.Specifies a string for the Copyright field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/copy[right] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /copy[right] option in Al.exe (Assembly Linker).
Culture 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리에 연결할 문화권 문자열을 지정합니다.Specifies the culture string to associate with the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/c[ulture] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /c[ulture] option in Al.exe (Assembly Linker).
DelaySign 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

어셈블리에 공개 키만 배치하려면 true이고, 어셈블리에 완전하게 서명하려면 false입니다.true to place only the public key in the assembly; false to fully sign the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/delay[sign] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /delay[sign] option in Al.exe (Assembly Linker).
Description 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Description 필드에 대한 문자열을 지정합니다.Specifies a string for the Description field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/descr[iption] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /descr[iption] option in Al.exe (Assembly Linker).
EmbedResources 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

어셈블리 매니페스트가 포함된 이미지에 지정된 리소스를 포함합니다.Embeds the specified resources in the image that contains the assembly manifest. 이 작업은 이미지에 리소스 파일의 내용을 복사합니다.This task copies the contents of the resource file into the image. 이 매개 변수에 전달된 항목에는 LogicalNameAccess라는 선택적 메타데이터가 연결될 수 있습니다.The items passed in to this parameter may have optional metadata attached to them called LogicalName and Access. LogicalName 메타데이터는 리소스에 대한 내부 식별자를 지정하는 데 사용됩니다.The LogicalName metadata is used to specify the internal identifier for the resource. 해당 리소스가 다른 어셈블리에 표시되지 않게 하려면 Access 메타데이터를 private로 설정할 수 있습니다.The Access metadata can be set to private in order to make the resource not visible to other assemblies. 자세한 내용은 Al.exe(어셈블리 링커)/embed[resource] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /embed[resource] option in Al.exe (Assembly Linker).
EvidenceFile 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리에 지정된 파일을 Security.Evidence라는 리소스 이름으로 포함합니다.Embeds the specified file in the assembly with the resource name of Security.Evidence.

기본 리소스에는 Security.Evidence를 사용할 수 없습니다.You cannot use Security.Evidence for regular resources. 이 매개 변수는 Al.exe(어셈블리 링커)/e[vidence] 옵션에 해당합니다.This parameter corresponds to the /e[vidence] option in Al.exe (Assembly Linker).
ExitCode 선택적 Int32 읽기 전용 출력 매개 변수입니다.Optional Int32 output read-only parameter.

실행한 명령에서 제공하는 종료 코드를 지정합니다.Specifies the exit code provided by the executed command.
FileVersion 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 File Version 필드에 대한 문자열을 지정합니다.Specifies a string for the File Version field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/fileversion 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /fileversion option in Al.exe (Assembly Linker).
Flags 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Flags 필드에 대한 값을 지정합니다.Specifies a value for the Flags field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/flags 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /flags option in Al.exe (Assembly Linker).
GenerateFullPaths 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

오류 메시지에 보고되는 파일에 대해 이 작업은 절대 경로를 사용합니다.Causes the task to use the absolute path for any files that are reported in an error message. 이 매개 변수는 Al.exe(어셈블리 링커)/fullpaths 옵션에 해당합니다.This parameter corresponds to the /fullpaths option in Al.exe (Assembly Linker).
KeyContainer 선택적 String 매개 변수입니다.Optional String parameter.

키 쌍을 보관하는 컨테이너를 지정합니다.Specifies a container that holds a key pair. 어셈블리 매니페스트에 공개 키를 삽입하여 어셈블리에 서명(강력한 이름을 부여)합니다.This will sign the assembly (give it a strong name) by inserting a public key into the assembly manifest. 그런 다음 이 작업은 개인 키를 사용하여 최종 어셈블리에 서명합니다.The task will then sign the final assembly with the private key. 자세한 내용은 Al.exe(어셈블리 링커)/keyn[ame] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /keyn[ame] option in Al.exe (Assembly Linker).
KeyFile 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리에 서명하기 위한 키 쌍 또는 공개 키를 포함하는 파일을 지정합니다.Specifies a file that contains a key pair or just a public key to sign an assembly. 컴파일러는 공개 키를 어셈블리 매니페스트에 삽입한 다음 개인 키를 사용하여 최종 어셈블리에 서명합니다.The compiler inserts the public key in the assembly manifest and then signs the final assembly with the private key. 자세한 내용은 Al.exe(어셈블리 링커)/keyf[ile] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /keyf[ile] option in Al.exe (Assembly Linker).
LinkResources 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

지정한 리소스 파일을 어셈블리에 연결합니다.Links the specified resource files to an assembly. 리소스가 어셈블리의 일부가 되지만 파일은 복사되지 않습니다.The resource becomes part of the assembly, but the file is not copied. 이 매개 변수에 전달된 항목에는 LogicalName, TargetAccess라는 선택적 메타데이터가 연결될 수 있습니다.The items passed in to this parameter may have optional metadata attached to them called LogicalName, Target, and Access. LogicalName 메타데이터는 리소스에 대한 내부 식별자를 지정하는 데 사용됩니다.The LogicalName metadata is used to specify the internal identifier for the resource. Target 메타데이터는 작업이 파일을 복사하는 경로 및 파일 이름을 지정할 수 있습니다. 그런 후에 이 새 파일을 어셈블리로 컴파일합니다.The Target metadata can specify the path and filename to which the task copies the file, after which it compiles this new file into the assembly. 해당 리소스가 다른 어셈블리에 표시되지 않게 하려면 Access 메타데이터를 private로 설정할 수 있습니다.The Access metadata can be set to private in order to make the resource not visible to other assemblies. 자세한 내용은 Al.exe(어셈블리 링커)/link[resource] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /link[resource] option in Al.exe (Assembly Linker).
MainEntryPoint 선택적 String 매개 변수입니다.Optional String parameter.

모듈을 실행 파일로 변환할 때 진입점으로 사용할 메서드의 정규화된 이름(class.method)을 지정합니다.Specifies the fully qualified name (class.method) of the method to use as an entry point when converting a module to an executable file. 이 매개 변수는 Al.exe(어셈블리 링커)/main 옵션에 해당합니다.This parameter corresponds to the /main option in Al.exe (Assembly Linker).
OutputAssembly 필수 ITaskItem 출력 매개 변수입니다.Required ITaskItem output parameter.

이 작업에서 생성한 파일의 이름을 지정합니다.Specifies the name of the file generated by this task. 이 매개 변수는 Al.exe(어셈블리 링커)/out 옵션에 해당합니다.This parameter corresponds to the /out option in Al.exe (Assembly Linker).
Platform 선택적 String 매개 변수입니다.Optional String parameter.

이 코드를 실행할 수 있는 플랫폼을 제한하며, x86, Itanium, x64 또는 anycpu 중 하나여야 합니다.Limits which platform this code can run on; must be one of x86, Itanium, x64, or anycpu. 기본값은 anycpu입니다.The default is anycpu. 이 매개 변수는 Al.exe(어셈블리 링커)/platform 옵션에 해당합니다.This parameter corresponds to the /platform option in Al.exe (Assembly Linker).
ProductName 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Product 필드에 대한 문자열을 지정합니다.Specifies a string for the Product field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/prod[uct] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /prod[uct] option in Al.exe (Assembly Linker).
ProductVersion 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 ProductVersion 필드에 대한 문자열을 지정합니다.Specifies a string for the ProductVersion field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/productv[ersion] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /productv[ersion] option in Al.exe (Assembly Linker).
ResponseFiles 선택적 String[] 매개 변수입니다.Optional String[] parameter.

어셈블리 링커를 통과하기 위한 추가 옵션을 포함하는 응답 파일을 지정합니다.Specifies the response files that contain additional options to pass through to the Assembly Linker.
SdkToolsPath 선택적 String 매개 변수입니다.Optional String parameter.

resgen.exe와 같은 SDK 도구에 대한 경로를 지정합니다.Specifies the path to the SDK tools, such as resgen.exe.
SourceModules 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

어셈블리로 컴파일할 하나 이상의 모듈입니다.One or more modules to be compiled into an assembly. 모듈은 결과 어셈블리의 매니페스트에 나열되며 어셈블리가 로드되기 위해 여전히 분산되고 사용 가능해야 합니다.The modules will be listed in the manifest of the resulting assembly, and will still need to distributed and available in order for the assembly to load. 이 매개 변수로 전달된 항목은 작업이 파일을 복사하는 경로 및 파일 이름을 지정하는 Target이라는 추가 메타데이터를 포함할 수 있습니다. 작업은 파일을 복사한 후에 이 새 파일을 어셈블리로 컴파일합니다.The items passed into this parameter may have additional metadata called Target, which specifies the path and filename to which the task copies the file, after which it compiles this new file into the assembly. 자세한 내용은 Al.exe(어셈블리 링커)에 대한 설명서를 참조하세요.For more information, see the documentation for Al.exe (Assembly Linker). 이 매개 변수는 특정 스위치 없이 Al.exe로 전달되는 모듈 목록에 해당합니다.This parameter corresponds to the list of modules passed into Al.exe without a specific switch.
TargetType 선택적 String 매개 변수입니다.Optional String parameter.

출력 파일의 파일 형식 즉, library(코드 라이브러리), exe(콘솔 응용 프로그램) 또는 win(Windows 기반 응용 프로그램)을 지정합니다.Specifies the file format of the output file: library (code library), exe (console application), or win (Windows-based application). 기본값은 library입니다.The default is library. 이 매개 변수는 Al.exe(어셈블리 링커)/t[arget] 옵션에 해당합니다.This parameter corresponds to the /t[arget] option in Al.exe (Assembly Linker).
TemplateFile 선택적 String 매개 변수입니다.Optional String parameter.

culture 필드를 제외한 모든 어셈블리 메타데이터를 상속받을 상위 어셈블리를 지정합니다.Specifies the assembly from which to inherit all assembly metadata, except the culture field. 지정된 어셈블리에는 강력한 이름이 있어야 합니다.The specified assembly must have a strong name.

TemplateFile 매개 변수를 사용하여 만든 어셈블리는 위성 어셈블리가 됩니다.An assembly that you create with the TemplateFile parameter will be a satellite assembly. 이 매개 변수는 Al.exe(어셈블리 링커)/template 옵션에 해당합니다.This parameter corresponds to the /template option in Al.exe (Assembly Linker).
Timeout 선택적 Int32 매개 변수입니다.Optional Int32 parameter.

작업 실행 파일이 얼마 후에 종료될 지를 밀리초 단위로 지정합니다.Specifies the amount of time, in milliseconds, after which the task executable is terminated. 기본값은 시간 제한이 없음을 나타내는 Int.MaxValue입니다.The default value is Int.MaxValue, indicating that there is no time out period.
Title 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Title 필드에 대한 문자열을 지정합니다.Specifies a string for the Title field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/title 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /title option in Al.exe (Assembly Linker).
ToolPath 선택적 String 매개 변수입니다.Optional String parameter.

작업에서 내부 실행 파일(Al.exe)을 로드할 위치를 지정합니다.Specifies the location from where the task will load the underlying executable file (Al.exe). 이 매개 변수를 지정하지 않으면 작업에서는 MSBuildMSBuild를 실행하고 있는 버전의 Framework에 해당하는 SDK 설치 경로가 사용됩니다.If this parameter is not specified, the task uses the SDK installation path corresponding to the version of the framework that is running MSBuildMSBuild.
Trademark 선택적 String 매개 변수입니다.Optional String parameter.

어셈블리의 Trademark 필드에 대한 문자열을 지정합니다.Specifies a string for the Trademark field in the assembly. 자세한 내용은 Al.exe(어셈블리 링커)/trade[mark] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /trade[mark] option in Al.exe (Assembly Linker).
Version 선택적 String 매개 변수입니다.Optional String parameter.

이 어셈블리의 버전 정보를 지정합니다.Specifies the version information for this assembly. 문자열의 형식은 major.minor.build.revision입니다.The format of the string is major.minor.build.revision. 기본값은 0입니다.The default value is 0. 자세한 내용은 Al.exe(어셈블리 링커)/v[ersion] 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /v[ersion] option in Al.exe (Assembly Linker).
Win32Icon 선택적 String 매개 변수입니다.Optional String parameter.

.ico 파일을 어셈블리에 삽입합니다.Inserts an .ico file in the assembly. .ico 파일을 사용하면 파일 탐색기에서 출력 파일을 원하는 모양으로 나타납니다.The .ico file gives the output file the desired appearance in File Explorer. 이 매개 변수는 Al.exe(어셈블리 링커)/win32icon 옵션에 해당합니다.This parameter corresponds to the /win32icon option in Al.exe (Assembly Linker).
Win32Resource 선택적 String 매개 변수입니다.Optional String parameter.

Win32 리소스(.res 파일)를 출력 파일에 삽입합니다.Inserts a Win32 resource (.res file) in the output file. 자세한 내용은 Al.exe(어셈블리 링커)/win32res 옵션에 대한 설명서를 참조하세요.For more information, see the documentation for the /win32res option in Al.exe (Assembly Linker).

설명Remarks

이 작업은 위에 나와 있는 매개 변수 외에 ToolTask 클래스에서 직접 상속하는 ToolTaskExtension 클래스의 매개 변수도 상속합니다.In addition to the parameters listed above, this task inherits parameters from the ToolTaskExtension class, which itself inherits from the ToolTask class. 이러한 추가 매개 변수 및 해당 설명이 포함된 목록은 ToolTaskExtension 기본 클래스를 참조하세요.For a list of these additional parameters and their descriptions, see ToolTaskExtension Base Class.

Example

다음 예제에서는 지정된 옵션을 사용하여 어셈블리를 만듭니다.The following example creates an assembly with the specified options.

<AL  
    EmbedResources="@(EmbeddedResource)"  
    Culture="%(EmbeddedResource.Culture)"  
    TemplateFile="@(IntermediateAssembly)"  
    KeyContainer="$(KeyContainerName)"  
    KeyFile="$(KeyOriginatorFile)"  
    DelaySign="$(DelaySign)"  

    OutputAssembly=  
       "%(EmbeddedResource.Culture)\$(TargetName).resources.dll">  

    <Output TaskParameter="OutputAssembly"  
        ItemName="SatelliteAssemblies"/>  
</AL>  

참고 항목See Also

작업 참조 Task Reference
작업Tasks