다음을 통해 공유


ResolveComReference task

하나 이상의 형식 라이브러리 이름 또는 .tlb 파일 목록을 가져와서 해당 형식 라이브러리를 디스크의 위치로 확인합니다.

Parameters

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

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

이면 true어셈블리에 공개 키를 배치합니다. 이면 false어셈블리에 완전히 서명합니다.
EnvironmentVariables 선택적 String[] 매개 변수입니다.

동일한 기호로 구분된 환경 변수 쌍의 배열입니다. 이러한 변수는 생성된 tlbimp.exe 전달되고 일반 환경 블록 외에 선택적으로 재정의되는 aximp.exe 전달됩니다.
ExecuteAsTool 선택적 Boolean 매개 변수입니다.

true경우 tlbimp.exe 실행하고 적절한 대상 프레임워크에서 프로시저 외부로 aximp.exe 필요한 래퍼 어셈블리를 생성합니다. 이 매개 변수는 다중 대상 지정을 사용하도록 설정합니다.
IncludeVersionInInteropName 선택적 Boolean 매개 변수입니다.

이 경우 true형식 라이브러리 버전이 래퍼 이름에 포함됩니다. 기본값은 false입니다.
KeyContainer 선택적 String 매개 변수입니다.

퍼블릭/프라이빗 키 쌍을 보유하는 컨테이너를 지정합니다.
KeyFile 선택적 String 매개 변수입니다.

퍼블릭/프라이빗 키 쌍을 포함하는 항목을 지정합니다.
NoClassMembers 선택적 Boolean 매개 변수입니다.
ResolvedAssemblyReferences 선택적 ITaskItem[] 출력 매개 변수입니다.

확인된 어셈블리 참조를 지정합니다.
ResolvedFiles 선택적 ITaskItem[] 출력 매개 변수입니다.

이 작업에 대한 입력으로 제공된 형식 라이브러리의 실제 위치에 해당하는 디스크의 정규화된 파일을 지정합니다.
ResolvedModules 선택적 ITaskItem[]매개 변수입니다.
SdkToolsPath 선택적 System.String 매개 변수입니다.

true경우 ExecuteAsTool 이 매개 변수를 대상으로 하는 프레임워크 버전의 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 설명합니다.

Metadata Description
GUID 필수 항목 메타데이터입니다.

형식 라이브러리의 GUID입니다. 이 항목 메타데이터를 지정하지 않으면 작업이 실패합니다.
VersionMajor 필수 항목 메타데이터입니다.

형식 라이브러리의 주 버전입니다. 이 항목 메타데이터를 지정하지 않으면 작업이 실패합니다.
VersionMinor 필수 항목 메타데이터입니다.

형식 라이브러리의 부 버전입니다. 이 항목 메타데이터를 지정하지 않으면 작업이 실패합니다.
EmbedInteropTypes 선택적 Boolean 메타데이터입니다.

이 경우 trueinterop DLL을 생성하지 않고 이 참조의 interop 형식을 어셈블리에 직접 포함합니다.
LocaleIdentifier 선택적 항목 메타데이터입니다.

형식 라이브러리의 로캘 식별자(또는 LCID)입니다. 이 식별자는 사용자, 지역 또는 애플리케이션에서 선호하는 인간 언어를 식별하는 32비트 값으로 지정됩니다. 이 항목 메타데이터를 지정하지 않으면 작업에서 기본 로캘 식별자 "0"을 사용합니다.
WrapperTool 선택적 항목 메타데이터입니다.

이 형식 라이브러리에 대한 어셈블리 래퍼를 생성하는 데 사용되는 래퍼 도구를 지정합니다. 이 항목 메타데이터를 지정하지 않으면 태스크는 "tlbimp"의 기본 래퍼 도구를 사용합니다. 형식 라이브러리의 사용 가능한 대/소문자를 구분하지 않는 선택은 다음과 같습니다.

- Primary: COM 구성 요소에 대해 이미 생성된 기본 interop 어셈블리를 사용하려는 경우 이 래퍼 도구를 사용합니다. 이 래퍼 도구를 사용하는 경우 태스크가 실패하므로 래퍼 출력 디렉터리를 지정하지 마세요.
- TLBImp: COM 구성 요소에 대한 interop 어셈블리를 생성하려는 경우 이 래퍼 도구를 사용합니다.
- PrimaryOrTLBImp: 적절한지 확실하지 PrimaryTLBImp 않은 경우 이 래퍼 도구를 사용합니다. 논리가 Primary 먼저 적용된 다음 TLBImp.
- AXImp: ActiveX 컨트롤에 대한 interop 어셈블리를 생성하려는 경우 이 래퍼 도구를 사용합니다.

TypeLibFiles 항목 메타데이터

다음 표에서는 매개 변수에 전달된 항목에 사용할 수 있는 항목 메타데이터에 대해 TypeLibFiles 설명합니다.

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

이 경우 trueinterop DLL을 생성하지 않고 이 참조의 interop 형식을 어셈블리에 직접 포함합니다.
WrapperTool 선택적 항목 메타데이터입니다.

이 형식 라이브러리에 대한 어셈블리 래퍼를 생성하는 데 사용되는 래퍼 도구를 지정합니다. 이 항목 메타데이터를 지정하지 않으면 태스크는 "tlbimp"의 기본 래퍼 도구를 사용합니다. 형식 라이브러리의 사용 가능한 대/소문자를 구분하지 않는 선택은 다음과 같습니다.

- Primary: COM 구성 요소에 대해 이미 생성된 기본 interop 어셈블리를 사용하려는 경우 이 래퍼 도구를 사용합니다. 이 래퍼 도구를 사용하는 경우 태스크가 실패하므로 래퍼 출력 디렉터리를 지정하지 마세요.
- TLBImp: COM 구성 요소에 대한 interop 어셈블리를 생성하려는 경우 이 래퍼 도구를 사용합니다.
- AXImp: ActiveX 컨트롤에 대한 interop 어셈블리를 생성하려는 경우 이 래퍼 도구를 사용합니다.

Note

형식 라이브러리를 고유하게 식별하기 위해 제공하는 정보가 많을수록 태스크가 디스크의 올바른 파일로 확인될 가능성이 커지게 됩니다.

Remarks

이 문서에 나열된 매개 변수 외에도 이 작업은 클래스의 매개 변수를 Task 상속합니다. 이러한 추가 매개 변수 및 해당 설명 목록은 Task 기본 클래스참조하세요.

이 작업이 작동하려면 컴퓨터에 COM DLL을 등록할 필요가 없습니다.

MSB4803 Error

CLI 명령에서 dotnet 작업을 사용하는 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 버전에서 지원되지 않습니다. 이 실행 파일은 .NET Framework 버전의 MSBuild를 사용하므로 Visual Studio 개발자 명령 프롬프트에서 MSBuild.exe 호출하여 프로젝트를 빌드해 봅니다.