다음을 통해 공유


ResolveAssemblyReference 작업

지정된 어셈블리에 종속된 모든 어셈블리를 확인합니다. 여기에는 2차 및 n차로 종속된 어셈블리도 포함됩니다.

매개 변수

다음 표에서는 ResolveAssemblyReference 작업의 매개 변수에 대해 설명합니다.

Parameter

설명

AllowedAssemblyExtensions

선택적 String[] 매개 변수입니다.

참조를 확인할 때 사용할 어셈블리 파일 이름 확장명입니다. 기본 파일 이름 확장명은 .exe 및 .dll입니다.

AllowedRelatedFileExtensions

선택적 String[] 매개 변수입니다.

서로 관련 있는 파일을 검색할 때 사용할 파일 이름 확장명입니다. 기본 확장명은 .pdb 및 .xml입니다.

AppConfigFile

선택적 String 매개 변수입니다.

bindingRedirect 매핑을 구문 분석하고 추출할 app.config 파일을 지정합니다. 이 매개 변수를 지정하면 AutoUnify 매개 변수는 false가 되어야 합니다.

AutoUnify

선택적 Boolean 매개 변수입니다.

이 매개 변수는 일반적 App.Config 파일을 가질 수 없는 DLL과 같은 어셈블리를 빌드하는 데 사용됩니다.

true이면 결과 종속성 그래프는 App.Config 파일이 AppConfigFile 매개 변수로 전달된 것처럼 자동으로 취급됩니다. 이 가상 App.Config 파일에는 충돌하는 각 어셈블리 집합에 대해 가장 최신 버전의 어셈블리를 선택하도록 하는 bindingRedirect 항목이 있습니다. 따라서 모든 충돌이 해결되므로 충돌하는 어셈블리에 대한 경고가 발생하지 않습니다.

true인 경우 각 매핑 작업을 다시 수행하면 이전 버전 및 최신 버전을 나타내고 AutoUnifytrue이었음을 나타내는 우선 순위 설명이 표시됩니다.

true인 경우 AppConfigFile 매개 변수는 비어야 합니다.

false이면 어셈블리 버전 재매핑 작업은 자동으로 수행되지 않습니다. 어셈블리의 버전이 2개 있으면 경고가 발생합니다.

false이면 같은 어셈블리의 다른 버전 사이에서 충돌이 발생할 때마다 우선 순위 설명이 표시됩니다. 이 주석 다음에는 하나의 경고가 옵니다. 경고에는 고유한 오류 코드가 있으며 "동일한 종속 어셈블리의 서로 다른 버전에서 충돌이 발생했습니다."라는 텍스트가 포함됩니다.

Assemblies

선택적 ITaskItem[] 매개 변수입니다.

전체 경로 및 종속성을 식별해야 하는 항목을 지정합니다. 이 항목은 "System"과 같은 단순한 이름을 가질 수도 있고 "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"와 같은 강력한 이름을 가질 수도 있습니다.

이 매개 변수에 전달된 항목은 필요한 경우 다음과 같은 항목 메타데이터를 포함할 수 있습니다.

  • Private: Boolean 값입니다. true이면 항목이 로컬로 복사됩니다. 기본값은 true입니다.

  • HintPath: String 값입니다. 참조로 사용할 경로 및 파일 이름을 지정합니다. 이 값은 SearchPaths 매개 변수에 {HintPathFromItem}이 지정된 경우에 사용됩니다. 기본값은 빈 문자열입니다.

  • SpecificVersion: Boolean 값입니다. true이면 Include 특성에 지정된 정확한 이름이 일치해야 합니다. false이면 단순한 이름이 같은 모든 어셈블리가 검색됩니다. SpecificVersion을 지정하지 않으면 항목의 Include 특성 값이 검사됩니다. 특성이 단순한 이름이면 SpecificVersion이 false인 것처럼 동작하고 특성이 강력한 이름이면 SpecificVersion이 true인 것처럼 동작합니다.

    참조 항목 형식에 사용될 때 Include 특성이 확인할 어셈블리의 전체 퓨전 이름이어야 합니다. 퓨전이 Include 특성과 정확히 일치하는 경우에만 어셈블리를 확인합니다.

    프로젝트가 .NET Framework 버전을 대상으로 하고 이보다 버전이 높은 .NET Framework에 대해 컴파일된 어셈블리를 참조하면 SpecificVersion을 true로 설정한 경우에만 참조를 확인합니다.

    프로젝트가 프로파일을 대상으로 하고 프로파일에 없는 어셈블리를 참조하면 SpecificVersion이 true로 설정된 경우에만 참조를 확인합니다.

  • ExecutableExtension: String 값입니다. 해당 값이 있으면 확인된 어셈블리는 이 확장명을 가져야 하고 해당 값이 없으면 검토된 각 디렉터리에서 맨 먼저 .dll이 검색되고 다음으로 .exe가 검색됩니다.

  • SubType: String 값입니다. SubType 메타데이터가 비어 있는 항목만 전체 어셈블리 경로로 확인됩니다. SubType 메타데이터가 비어 있지 않은 항목은 무시됩니다.

  • AssemblyFolderKey: String 값입니다. 레거시를 위해 지원되는 이 메타데이터는 Assemblies가 어셈블리 참조를 확인하는 데 사용해야 하는 "hklm\VendorFolder"와 같은 사용자 정의 레지스트리 키를 지정합니다.

AssemblyFiles

선택적 ITaskItem[] 매개 변수입니다.

종속성을 찾을 정규화된 어셈블리 목록을 지정합니다.

이 매개 변수에 전달된 항목은 필요한 경우 다음과 같은 항목 메타데이터를 포함할 수 있습니다.

  • Private: 선택적 Boolean 값입니다. true이면 항목이 로컬로 복사됩니다.

  • FusionName: 선택적 String 메타데이터입니다. 이 항목의 단순한 이름 또는 강력한 이름을 지정합니다. 이 특성이 있으면 이름을 가져오기 위해 어셈블리 파일을 열 필요가 없기 때문에 작업 시간을 절약할 수 있습니다.

AutoUnify

선택적 Boolean 매개 변수입니다.

true이면 결과 종속성 그래프는 App.Config 파일이 AppConfigFile 매개 변수로 전달된 것처럼 취급됩니다. 이 가상 App.Config 파일에는 충돌하는 각 어셈블리 집합에 대해 가장 최신 버전의 어셈블리를 선택하도록 하는 bindingRedirect 항목이 있습니다. 따라서 모든 충돌이 해결되므로 충돌하는 어셈블리에 대한 경고가 발생하지 않습니다. 각 매핑 작업을 다시 수행하면 이전 버전 및 최신 버전을 나타내고, AutoUnify가 true이기 때문에 이 작업이 자동으로 수행되었음을 나타내는 우선 순위 설명이 표시됩니다.

false이면 어셈블리 버전 재매핑 작업은 자동으로 수행되지 않습니다. 한 어셈블리의 버전이 2개 있으면 경고가 표시됩니다. 같은 어셈블리의 다른 버전 사이에서 충돌이 발생할 때마다 우선 순위 설명이 표시됩니다. 이러한 설명이 모두 표시된 후에는 고유한 오류 코드와 함께 "동일한 종속 어셈블리의 서로 다른 버전에서 충돌이 발생했습니다."라는 경고가 나타납니다.

기본값은 false입니다.

CandidateAssemblyFiles

선택적 String[] 매개 변수입니다.

검색 및 확인 프로세스에 사용할 어셈블리 목록을 지정합니다. 이 매개 변수에 전달된 값은 절대 파일 이름이나 프로젝트 상대 파일 이름이어야 합니다.

이 목록의 어셈블리는 SearchPaths 매개 변수에 {CandidateAssemblyFiles}가 경로 중 하나로 포함될 경우에 고려됩니다.

CopyLocalDependenciesWhenParentReferenceInGac

선택적 [Boolean] 매개 변수입니다.

true인 경우 종속성을 로컬로 복사할지 여부를 결정하려면 수행된 검사 중 하나에서 프로젝트 파일의 부모 참조에 Private 메타데이터가 설정되어 있는지 여부를 확인합니다. Private 값이 설정되어 있으면 이 값이 종속성으로 사용됩니다.

메타데이터가 설정되어 있지 않으면 종속성은 부모 참조와 동일한 검사를 거칩니다. 이 중 한 검사에서는 참조가 GAC에 있는지 여부를 확인합니다. 참조가 GAC에 있으면 대상 컴퓨터의 GAC에도 있는 것으로 간주되므로 해당 참조가 로컬로 복사되지 않습니다. 이는 특정 참조에만 적용되며 해당 종속성에는 적용되지 않습니다.

예를 들어 GAC에 있는 프로젝트 파일의 참조는 로컬로 복사되지 않지만 해당 종속성은 GAC에 있지 않으므로 여전히 로컬로 복사됩니다.

false인 경우 프로젝트 파일 참조가 GAC에 있는지 여부를 검사한 다음 적절하면 로컬로 복사됩니다.

종속성이 GAC에 있는지 여부와 프로젝트 파일의 부모 참조가 GAC에 있는지 여부를 검사하기 위해 종속성을 검사합니다.

프로젝트 파일의 부모 참조가 GAC에 있으면 해당 종속성이 로컬로 복사되지 않습니다.

이 매개 변수가 true 또는 false인지와 상관 없이 부모 참조가 여러 개 있고 그 중 하나라도 GAC에 없으면 모든 부모 참조가 로컬로 복사됩니다.

CopyLocalFiles

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFilesScatterFiles 매개 변수에서 CopyLocal 항목 메타데이터 값이 true인 모든 파일을 반환합니다.

FilesWritten

선택적 ITaskItem[] 출력 매개 변수입니다.

디스크에 기록된 항목을 포함합니다.

FindDependencies

선택적 Boolean 매개 변수입니다.

true이면 종속성이 검색되고, 그렇지 않으면 주 참조만 검색됩니다. 기본값은 true입니다.

FindRelatedFiles

선택적 Boolean 매개 변수입니다.

true이면 .pdb 파일 및 .xml 파일 같은 관련 파일이 검색됩니다. 기본값은 true입니다.

FindSatellites

선택적 Boolean 매개 변수입니다.

true이면 위성 어셈블리가 검색됩니다. 기본값은 true.입니다.

FindSerializationAssemblies

선택적 Boolean 매개 변수입니다.

true이면 serialization 어셈블리가 검색됩니다. 기본값은 true입니다.

FullFrameworkAssemblyTables

선택적 ITaskItem[] 매개 변수입니다.

"FrameworkDirectory" 메타데이터가 있는 항목을 지정하여 재배포 목록을 특정 프레임워크 디렉터리에 연결합니다. 연결이 이루어지지 않으면 오류가 기록됩니다. FrameworkDirectory가 설정되지 않은 경우 RAR(Resolve Assembly Reference) 논리는 대상 프레임워크 디렉터리를 사용합니다.

FullFrameworkFolders

선택적 [String][] 매개 변수입니다.

RedistList 디렉터리를 포함하는 폴더의 집합을 지정합니다. 이 디렉터리는 지정된 클라이언트 프로필에 대한 전체 프레임워크를 나타냅니다(예: %programfiles%\reference assemblies\microsoft\framework\v4.0).

FullTargetFrameworkSubsetNames

선택적 String[] 매개 변수입니다.

대상 프레임워크 하위 집합 이름 목록을 포함합니다. 목록의 하위 집합 이름이 TargetFrameworkSubset 이름 속성 중 하나와 일치하면 빌드 시 해당 대상 프레임워크 하위 집합이 제외됩니다.

IgnoreDefaultInstalledAssemblyTables

선택적 Boolean 매개 변수입니다.

true이면 TargetFrameworkDirectories 아래의 \RedistList 디렉터리에 있는 설치된 추가 어셈블리 테이블(또는 "Redist Lists")이 검색되어 사용됩니다. 기본값은 false.입니다.

IgnoreDefaultInstalledAssemblySubsetTables

선택적 Boolean 매개 변수입니다.

true이면 TargetFrameworkDirectories 아래의 \SubsetList 디렉터리에 있는 설치된 추가 어셈블리 하위 집합 테이블(또는 "Subset Lists")이 검색되어 사용됩니다 기본값은 false.입니다.

InstalledAssemblySubsetTables

선택적 ITaskItem[] 매개 변수입니다.

대상 하위 집합에 있어야 하는 어셈블리를 지정하는 XML 파일 목록을 포함합니다.

필요한 경우 이 목록의 항목은 "FrameworkDirectory" 메타데이터를 지정하여 InstalledAssemblySubsetTable

특정 프레임워크 디렉터리에 연결할 수 있습니다.

TargetFrameworkDirectories 요소가 하나만 있으면 이 목록에서 "FrameworkDirectory" 메타데이터가 없는 모든 항목은 TargetFrameworkDirectories에 전달된 고유한 값으로 설정된 것으로 처리됩니다.

InstalledAssemblyTables

선택적 String 매개 변수입니다.

대상 컴퓨터에 설치되어야 하는 어셈블리를 지정하는 XML 파일 목록을 포함합니다.

InstalledAssemblyTables가 설정되면 목록의 이전 어셈블리 버전은 XML에 있는 새 버전에 병합됩니다. 또한 InGAC='true'로 설정되어 있는 어셈블리는 필수 구성 요소로 간주되어 명시적으로 재정의되지 않는 한 CopyLocal='false'로 설정됩니다.

필요한 경우 이 목록의 항목은 "FrameworkDirectory" 메타데이터를 지정하여 InstalledAssemblyTable을 특정 프레임워크 디렉터리에 연결할 수 있습니다. 하지만 Redist 이름이

"Microsoft-Windows-CLRCoreComp"로 시작되지 않으면 이 설정은 무시됩니다.

TargetFrameworkDirectories 요소가 하나만 있으면 이 목록에서 "FrameworkDirectory" 메타데이터가 없는 모든 항목은

TargetFrameworkDirectories에 전달된 고유한 값으로 설정된 것으로 처리됩니다.

LatestTargetFrameworkDirectories

선택적 String[] 매개 변수입니다.

컴퓨터에서 대상으로 지정할 수 있는 최신 프레임워크에 대한 재배포 목록이 들어 있는 디렉터리 목록을 지정합니다. 이 속성을 설정하지 않으면 지정된 대상 프레임워크 식별자에 대해 컴퓨터에 설치된 최상위 프레임워크가 사용됩니다.

ProfileName

선택적 [String] 매개 변수입니다.

  • 대상으로 할 프레임워크 프로필의 이름을 지정합니다. 예를 들어 클라이언트, 웹 또는 네트워크가 있습니다.

RelatedFiles

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

참조와 기본 이름이 같은 XML 및 .pdb 파일 등 관련 파일을 포함합니다.

이 매개 변수에 나열된 파일에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.

  • Primary: Boolean 값입니다. true이면 파일 항목이 Assemblies 매개 변수를 사용하여 배열로 전달되었습니다. 기본값은 false으로,

  • CopyLocal: Boolean 값입니다. 지정한 참조를 출력 디렉터리에 복사할지 여부를 나타냅니다.

ResolvedDependencyFiles

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

종속성에 대한 n 번째 경로를 포함합니다. 이 매개 변수는 ResolvedFiles 매개 변수에 포함되어 있는 첫 번째 주 참조를 포함하지 않습니다.

이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.

  • CopyLocal: Boolean 값입니다. 지정한 참조를 출력 디렉터리에 복사할지 여부를 나타냅니다.

  • FusionName: String 값입니다. 이 종속성의 이름을 지정합니다.

  • ResolvedFrom: String 값입니다. 이 파일이 확인된 리터럴 검색 경로를 지정합니다.

ResolvedFiles

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

전체 경로로 확인된 모든 주 참조 목록을 포함합니다.

이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.

  • CopyLocal: Boolean 값입니다. 지정한 참조를 출력 디렉터리에 복사할지 여부를 나타냅니다.

  • FusionName: String 값입니다. 이 종속성의 이름을 지정합니다.

  • ResolvedFrom: String 값입니다. 이 파일이 확인된 리터럴 검색 경로를 지정합니다.

SatelliteFiles

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

찾은 위성 파일을 모두 지정합니다. 이 항목을 존재하게 만든 참조 또는 종속성이 CopyLocal=true이면 이 매개 변수도 CopyLocal=true가 됩니다.

이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.

  • CopyLocal: Boolean 값입니다. 지정한 참조를 출력 디렉터리에 복사할지 여부를 나타냅니다. 이 항목을 존재하게 만든 참조 또는 종속성의 CopyLocal 값이 true이면 이 값도 true입니다.

  • DestinationSubDirectory: String 값입니다. 이 항목을 복사할 상대 대상 디렉터리를 지정합니다.

ScatterFiles

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

지정된 어셈블리 중 하나와 연관된 분산 파일을 포함합니다.

이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.

  • CopyLocal: Boolean 값입니다. 지정한 참조를 출력 디렉터리에 복사할지 여부를 나타냅니다.

SearchPaths

필수적 String[] 매개 변수입니다.

디스크에서 어셈블리를 나타내는 파일을 찾기 위해 검색되는 디렉터리 또는 특별 위치를 지정합니다. 검색 경로의 나열 순서는 중요합니다. 각 어셈블리에 대해 경로 목록의 왼쪽에서 오른쪽으로 검색이 진행됩니다. 어셈블리를 나타내는 파일을 찾으면 검색은 중지되고 다음 어셈블리에 대한 검색이 시작됩니다.

이 매개 변수에는 다음 형식의 값이 지정될 수 있습니다.

  • 디렉터리 경로

  • {HintPathFromItem}: 작업이 기본 항목의 HintPath 메타데이터를 검토하도록 지정합니다.

  • {CandidateAssemblyFiles}: 작업이 CandidateAssemblyFiles 매개 변수를 통해 전달된 파일을 검토하도록 지정합니다.

  • {Registry:_AssemblyFoldersBase_, _RuntimeVersion_, _AssemblyFoldersSuffix_}:

  • {AssemblyFolders}: Visual Studio .NET 2003의 레지스트리에서 어셈블리 찾기 체계를 사용하도록 지정합니다.

  • {GAC}: 작업이 GAC에서 검색하도록 지정합니다.

  • {RawFileName}: 작업이 항목의 Include 값을 정확한 경로 및 파일 이름으로 간주하도록 지정합니다.

SerializationAssemblyFiles

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

검색된 모든 XML serialization 어셈블리를 포함합니다. 이 항목을 존재하게 만든 참조 또는 종속성이 CopyLocal=true인 경우에만 이 항목에 CopyLocal=true가 표시됩니다.

Boolean 메타데이터 CopyLocal은 지정한 참조를 출력 디렉터리에 복사할지 여부를 나타냅니다.

Silent

선택적 Boolean 매개 변수입니다.

true이면 메시지가 기록되지 않습니다. 기본값은 false입니다.

StateFile

선택적 String 매개 변수입니다.

이 작업의 중간 빌드 상태를 저장할 위치를 나타내는 파일 이름을 지정합니다.

SuggestedRedirects

선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다.

AutoUnify 매개 변수 값에 관계없이 충돌하는 모든 개별 어셈블리 ID에 대해 하나의 항목을 포함합니다. 여기에는 응용 프로그램 구성 파일에 적합한 bindingRedirect 항목이 없는 것으로 확인된 모든 문화권 및 PKT가 포함됩니다.

각 항목은 선택적으로 다음 정보를 포함할 수 있습니다.

  • Include 특성: 버전 필드 값이 0.0.0.0인 어셈블리 패밀리의 전체 이름을 포함합니다.

  • MaxVersion 항목 메타데이터: 최대 버전 번호를 포함합니다.

TargetedRuntimeVersion

선택적 String 매개 변수입니다.

대상으로 할 런타임 버전을 지정합니다(예: 2.0.57027 또는 v2.0.57027).

TargetFrameworkDirectories

선택적 String[] 매개 변수입니다.

대상 프레임워크 디렉터리의 경로를 지정합니다. 이 매개 변수는 결과 항목의 CopyLocal 상태를 확인하는 데 필요합니다.

이 매개 변수를 지정하지 않으면 결과 항목의 소스 항목에 대해 Private 메타데이터 값으로 true가 명시적으로 지정되지 않는 한, 어떠한 결과 항목에 대해서도 CopyLocal 값에 true가 지정되지 않습니다.

TargetFrameworkMoniker

선택적 String 매개 변수입니다.

모니터링할 TargetFrameworkMoniker입니다(있는 경우). 이것은 로깅에 사용됩니다.

TargetFrameworkMonikerDisplayName

선택적 String 매개 변수입니다.

모니터링할 TargetFrameworkMoniker의 표시 이름입니다(있는 경우). 이것은 로깅에 사용됩니다.

TargetFrameworkSubsets

선택적 String[] 매개 변수입니다.

대상 프레임워크 디렉터리에서 검색할 대상 프레임워크 하위 집합 이름 목록을 포함합니다.

TargetFrameworkVersion

선택적 String 매개 변수입니다.

프로젝트 대상 프레임워크 버전입니다. 기본값은 비어 있으며 이는 대상 프레임워크를 기준으로 참조를 필터링하지 않음을 의미합니다.

TargetProcessorArchitecture

선택적 String 매개 변수입니다.

기본 대상 프로세서 아키텍처이며 GAC(전역 어셈블리 캐시) 참조를 확인하는 데 사용됩니다.

이 매개 변수의 값은 x86, IA64 또는 AMD64일 수 있습니다.

이 매개 변수가 없는 경우 작업에서는 먼저 현재 실행 중인 프로세스의 아키텍처와 일치하는 어셈블리를 고려합니다. 어셈블리가 없는 경우 작업에서 MSILProcessorArchitecture 값을 갖거나 ProcessorArchitecture 값이 없는 GAC의 어셈블리를 고려합니다.

설명

위에 나열된 매개 변수 외에도 이 작업은 Task 클래스에서 상속하는 TaskExtension 클래스의 매개 변수를 상속합니다. 추가 매개 변수 목록과 해당 설명은 TaskExtension 기본 클래스를 참조하십시오.

참고 항목

개념

MSBuild 작업

기타 리소스

MSBuild 작업 참조