ResolveComReference 작업
하나 이상의 형식 라이브러리 이름 또는 .tlb 파일 목록을 가져온 후 해당 형식 라이브러리를 디스크의 위치로 확인합니다.
매개 변수
다음 표에서는 ResolveCOMReference
작업의 매개 변수에 대해 설명합니다.
매개 변수 | Description |
---|---|
DelaySign |
선택적 Boolean 매개 변수입니다.true 인 경우 공개 키를 어셈블리에 배치합니다. false 인 경우 어셈블리에 완전히 서명합니다. |
EnvironmentVariables |
선택적 String[] 매개 변수입니다.등호로 구분된 환경 변수 쌍의 배열입니다. 이러한 변수는 생성된 tlbimp.exe 및 aximp.exe에 전달되면서 일반 환경 블록에 추가되거나 일부 일반 환경 블록을 재정의합니다. |
ExecuteAsTool |
선택적 Boolean 매개 변수입니다.true 이면 해당 대상 프레임워크 out-of-proc에서 tlbimp.exe 및 aximp.exe를 실행하여 필요한 래퍼 어셈블리를 생성합니다. 이 매개 변수는 멀티 타기팅을 허용합니다. |
IncludeVersionInInteropName |
선택적 Boolean 매개 변수입니다.true 인 경우 typelib 버전이 래퍼 이름이 포함됩니다. 기본값은 false 입니다. |
KeyContainer |
선택적 String 매개 변수입니다.퍼블릭/프라이빗 키 쌍을 보관할 컨테이너를 지정합니다. |
KeyFile |
선택적 String 매개 변수입니다.퍼블릭/프라이빗 키 쌍을 포함할 항목을 지정합니다. |
NoClassMembers |
선택적 Boolean 매개 변수입니다. |
ResolvedAssemblyReferences |
선택적 ITaskItem[] 출력 매개 변수입니다.확인된 어셈블리 참조를 지정합니다. |
ResolvedFiles |
선택적 ITaskItem[] 출력 매개 변수입니다.디스크에서 이 작업에 대한 입력으로 제공된 형식 라이브러리의 물리적 위치에 해당하는 정규화된 파일을 지정합니다. |
ResolvedModules |
선택적 ITaskItem[] 매개 변수입니다. |
SdkToolsPath |
선택적 System.String 매개 변수입니다.ExecuteAsTool 이 true 인 경우 이 매개 변수를 대상이 되는 프레임워크 버전의 SDK 도구 경로로 설정해야 합니다. |
StateFile |
선택적 String 매개 변수입니다.COM 구성 요소 타임스탬프에 대한 캐시 파일을 지정합니다. 이 매개 변수가 없으면 실행할 때마다 모든 래퍼가 다시 생성됩니다. |
TargetFrameworkVersion |
선택적 String 매개 변수입니다.프로젝트 대상 프레임워크 버전을 지정합니다. 기본값은 String.Empty 입니다. 대상 프레임워크를 기반으로 하는 참조에 대한 필터링이 없음을 의미합니다. |
TargetProcessorArchitecture |
선택적 String 매개 변수입니다.기본 대상 프로세서 아키텍처를 지정합니다. 변환 후에 tlbimp.exe/machine 플래그에 전달됩니다. 매개 변수 값은 ProcessorArchitecture의 멤버여야 합니다. |
TypeLibFiles |
선택적 ITaskItem[] 매개 변수입니다.COM 참조에 대한 형식 라이브러리 파일 경로를 지정합니다. 이 매개 변수에 포함된 항목에는 항목 메타데이터가 포함될 수 있습니다. 자세한 내용은 아래 TypeLibFiles 항목 메타데이터 섹션을 참조하세요. |
TypeLibNames |
선택적 ITaskItem[] 매개 변수입니다.확인할 형식 라이브러리 이름을 지정합니다. 이 매개 변수에 포함된 항목에는 일부 항목 메타데이터가 포함되어야 합니다. 자세한 내용은 아래 TypeLibNames 항목 메타데이터 섹션을 참조하세요. |
WrapperOutputDirectory |
선택적 String 매개 변수입니다.생성된 interop 어셈블리를 배치할 디스크의 위치입니다. 이 항목 메타데이터를 지정하지 않으면 작업은 프로젝트 파일이 있는 디렉터리의 절대 경로를 사용합니다. |
TypeLibNames 항목 메타데이터
다음 표에서는 TypeLibNames
매개 변수에 전달된 항목에 사용 가능한 항목 메타데이터를 설명합니다.
메타데이터 | 설명 |
---|---|
GUID |
필수 항목 메타데이터입니다. 형식 라이브러리의 GUID입니다. 이 항목 메타데이터를 지정하지 않으면 작업이 실패합니다. |
VersionMajor |
필수 항목 메타데이터입니다. 형식 라이브러리의 주 버전입니다. 이 항목 메타데이터를 지정하지 않으면 작업이 실패합니다. |
VersionMinor |
필수 항목 메타데이터입니다. 형식 라이브러리의 부 버전입니다. 이 항목 메타데이터를 지정하지 않으면 작업이 실패합니다. |
EmbedInteropTypes |
선택적 Boolean 메타데이터입니다.true 인 경우 interop DLL을 생성하지 않고 이 참조의 interop 형식을 어셈블리에 직접 포함합니다. |
LocaleIdentifier |
선택적 항목 메타데이터입니다. 형식 라이브러리의 로캘 식별자(또는 LCID)입니다. 이 항목 메타데이터는 사용자, 지역 또는 애플리케이션에서 선호되는 인간 언어를 나타내는 32비트 값으로 지정됩니다. 이 항목 메타데이터를 지정하지 않으면 작업에서 기본 로캘 식별자 “0”이 사용됩니다. |
WrapperTool |
선택적 항목 메타데이터입니다. 이 형식 라이브러리의 어셈블리 래퍼를 생성하는 데 사용되는 래퍼 도구를 지정합니다. 이 항목 메타데이터를 지정하지 않으면 작업에서 기본 래퍼 도구 “tlbimp”가 사용됩니다. 사용 가능한 typelib(대/소문자 구분)는 다음과 같습니다. - Primary : COM 구성 요소에 대한 이미 생성된 주 interop 어셈블리를 사용하려면 이 래퍼 도구를 사용합니다. 이 래퍼 도구를 사용할 경우 래퍼 출력 디렉터리를 지정하지 마세요. 지정하면 작업이 실패합니다.- TLBImp : COM 구성 요소에 대한 interop 어셈블리를 생성하려면 이 래퍼 도구를 사용합니다.- PrimaryOrTLBImp : Primary 가 적절한지 아니면 TLBImp 가 적절한지 확실치 않은 경우 이 래퍼 도구를 사용합니다. 먼저 Primary 논리가 적용된 다음 TLBImp 가 적용됩니다.- AXImp : ActiveX 컨트롤에 대한 interop 어셈블리를 생성하려면 이 래퍼 도구를 사용합니다. |
TypeLibFiles 항목 메타데이터
다음 표에서는 TypeLibFiles
매개 변수에 전달된 항목에 사용 가능한 항목 메타데이터를 설명합니다.
메타데이터 | 설명 |
---|---|
EmbedInteropTypes |
선택적 Boolean 매개 변수입니다.true 인 경우 interop DLL을 생성하지 않고 이 참조의 interop 형식을 어셈블리에 직접 포함합니다. |
WrapperTool |
선택적 항목 메타데이터입니다. 이 형식 라이브러리의 어셈블리 래퍼를 생성하는 데 사용되는 래퍼 도구를 지정합니다. 이 항목 메타데이터를 지정하지 않으면 작업에서 기본 래퍼 도구 “tlbimp”가 사용됩니다. 사용 가능한 typelib(대/소문자 구분)는 다음과 같습니다. - Primary : COM 구성 요소에 대한 이미 생성된 주 interop 어셈블리를 사용하려면 이 래퍼 도구를 사용합니다. 이 래퍼 도구를 사용할 경우 래퍼 출력 디렉터리를 지정하지 마세요. 지정하면 작업이 실패합니다.- TLBImp : COM 구성 요소에 대한 interop 어셈블리를 생성하려면 이 래퍼 도구를 사용합니다.- AXImp : ActiveX 컨트롤에 대한 interop 어셈블리를 생성하려면 이 래퍼 도구를 사용합니다. |
참고 항목
형식 라이브러리를 고유하게 식별하기 위해 더 많은 정보를 제공할수록 작업이 디스크에서 올바른 파일로 확인될 가능성이 커집니다.
설명
이 작업은 위에 나와 있는 매개 변수 외에 Task 클래스의 매개 변수도 상속합니다. 이러한 추가 매개 변수 및 해당 설명이 포함된 목록은 Task 기본 클래스를 참조하세요.
이 작업을 수행하기 위해 COM DLL을 컴퓨터에 등록할 필요가 없습니다.
MSB4803 오류
dotnet
CLI 명령에서 ResolveCOMReference
작업을 사용하는 프로젝트를 실행하려고 하면 다음 오류가 발생합니다.
MSB4803: The task "ResolveComReference" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild.
명령줄에서 dotnet build
명령을 실행할 때 사용되는 MSBuild의 .NET Core 버전에서는 이 작업이 지원되지 않습니다. MSBuild의 .NET Framework 버전이 사용되므로 Visual Studio 개발자 명령 프롬프트에서 MSbuild.exe를 호출하여 프로젝트 빌드를 시도하세요.