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인 경우 각 매핑 작업을 다시 수행하면 이전 버전 및 최신 버전을 나타내고 AutoUnify가 true이었음을 나타내는 우선 순위 설명이 표시됩니다. true인 경우 AppConfigFile 매개 변수는 비어야 합니다. false이면 어셈블리 버전 재매핑 작업은 자동으로 수행되지 않습니다. 어셈블리의 버전이 2개 있으면 경고가 발생합니다. false이면 같은 어셈블리의 다른 버전 사이에서 충돌이 발생할 때마다 우선 순위 설명이 표시됩니다. 이 주석 다음에는 하나의 경고가 옵니다. 경고에는 고유한 오류 코드가 있으며 "동일한 종속 어셈블리의 서로 다른 버전에서 충돌이 발생했습니다."라는 텍스트가 포함됩니다. |
Assemblies |
선택적 ITaskItem[] 매개 변수입니다. 전체 경로 및 종속성을 식별해야 하는 항목을 지정합니다. 이 항목은 "System"과 같은 단순한 이름을 가질 수도 있고 "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"와 같은 강력한 이름을 가질 수도 있습니다. 이 매개 변수에 전달된 항목은 필요한 경우 다음과 같은 항목 메타데이터를 포함할 수 있습니다.
|
AssemblyFiles |
선택적 ITaskItem[] 매개 변수입니다. 종속성을 찾을 정규화된 어셈블리 목록을 지정합니다. 이 매개 변수에 전달된 항목은 필요한 경우 다음과 같은 항목 메타데이터를 포함할 수 있습니다.
|
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, SatelliteFiles 및 ScatterFiles 매개 변수에서 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 파일 등 관련 파일을 포함합니다. 이 매개 변수에 나열된 파일에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.
|
ResolvedDependencyFiles |
선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다. 종속성에 대한 n 번째 경로를 포함합니다. 이 매개 변수는 ResolvedFiles 매개 변수에 포함되어 있는 첫 번째 주 참조를 포함하지 않습니다. 이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.
|
ResolvedFiles |
선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다. 전체 경로로 확인된 모든 주 참조 목록을 포함합니다. 이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.
|
SatelliteFiles |
선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다. 찾은 위성 파일을 모두 지정합니다. 이 항목을 존재하게 만든 참조 또는 종속성이 CopyLocal=true이면 이 매개 변수도 CopyLocal=true가 됩니다. 이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.
|
ScatterFiles |
선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다. 지정된 어셈블리 중 하나와 연관된 분산 파일을 포함합니다. 이 매개 변수의 항목에는 다음과 같은 항목 메타데이터가 포함될 수 있습니다.
|
SearchPaths |
필수적 String[] 매개 변수입니다. 디스크에서 어셈블리를 나타내는 파일을 찾기 위해 검색되는 디렉터리 또는 특별 위치를 지정합니다. 검색 경로의 나열 순서는 중요합니다. 각 어셈블리에 대해 경로 목록의 왼쪽에서 오른쪽으로 검색이 진행됩니다. 어셈블리를 나타내는 파일을 찾으면 검색은 중지되고 다음 어셈블리에 대한 검색이 시작됩니다. 이 매개 변수에는 다음 형식의 값이 지정될 수 있습니다.
|
SerializationAssemblyFiles |
선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다. 검색된 모든 XML serialization 어셈블리를 포함합니다. 이 항목을 존재하게 만든 참조 또는 종속성이 CopyLocal=true인 경우에만 이 항목에 CopyLocal=true가 표시됩니다. Boolean 메타데이터 CopyLocal은 지정한 참조를 출력 디렉터리에 복사할지 여부를 나타냅니다. |
Silent |
선택적 Boolean 매개 변수입니다. true이면 메시지가 기록되지 않습니다. 기본값은 false입니다. |
StateFile |
선택적 String 매개 변수입니다. 이 작업의 중간 빌드 상태를 저장할 위치를 나타내는 파일 이름을 지정합니다. |
SuggestedRedirects |
선택적 ITaskItem[] 읽기 전용 출력 매개 변수입니다. AutoUnify 매개 변수 값에 관계없이 충돌하는 모든 개별 어셈블리 ID에 대해 하나의 항목을 포함합니다. 여기에는 응용 프로그램 구성 파일에 적합한 bindingRedirect 항목이 없는 것으로 확인된 모든 문화권 및 PKT가 포함됩니다. 각 항목은 선택적으로 다음 정보를 포함할 수 있습니다.
|
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일 수 있습니다. 이 매개 변수가 없는 경우 작업에서는 먼저 현재 실행 중인 프로세스의 아키텍처와 일치하는 어셈블리를 고려합니다. 어셈블리가 없는 경우 작업에서 MSIL의 ProcessorArchitecture 값을 갖거나 ProcessorArchitecture 값이 없는 GAC의 어셈블리를 고려합니다. |
설명
위에 나열된 매개 변수 외에도 이 작업은 Task 클래스에서 상속하는 TaskExtension 클래스의 매개 변수를 상속합니다. 추가 매개 변수 목록과 해당 설명은 TaskExtension 기본 클래스를 참조하십시오.