Office 주 Interop 어셈블리

Office 프로젝트에서 Microsoft Office 애플리케이션의 기능을 사용하려면 애플리케이션용 PIA(주 interop 어셈블리)를 사용해야 합니다. PIA를 사용하면 관리 코드가 Microsoft Office 애플리케이션의 COM 기반 개체 모델과 상호 작용할 수 있습니다.

참고 항목

여러 플랫폼에서 Office 환경을 확장하는 솔루션을 개발하는 데 관심이 있으신가요? 새로운 Office 추가 기능 모델을 확인하세요. Office 추가 기능은 VSTO 추가 기능과 솔루션에 비해 공간을 적게 사용하며 HTML5, JavaScript, CSS3 및 XML과 같은 거의 모든 웹 프로그래밍 기술을 사용하여 빌드할 수 있습니다.

새 Office 프로젝트를 만들 때 Visual Studio는 프로젝트를 빌드하는 데 필요한 PIA에 대한 참조를 추가합니다. Microsoft Office Excel용 프로젝트에서 Microsoft Office Word 기능을 사용해야 하는 등의 경우에는 다른 PIA에 대한 참조를 추가해야 할 수도 있습니다.

이 문서에서는 Office 프로젝트에서 Microsoft Office PIA를 사용하는 방법과 관련하여 다음 측면에 대해 설명합니다.

주 interop 어셈블리에 대한 자세한 내용은 주 Interop 어셈블리를 참조하세요.

프로젝트 빌드 및 실행을 위한 별도의 주 interop 어셈블리

Visual Studio에서는 개발 컴퓨터의 여러 PIA 집합을 사용합니다. 이러한 여러 어셈블리 집합은 다음 위치에 있습니다.

  • 프로그램 파일 디렉터리의 폴더

    이 어셈블리 집합은 코드를 작성하고 프로젝트를 빌드할 때 사용됩니다. Visual Studio에서는 이러한 어셈블리를 자동으로 설치합니다.

  • 전역 어셈블리 캐시

    이 어셈블리 집합은 프로젝트를 실행하거나 디버그할 때와 같은 일부 개발 작업 중에 사용됩니다. Visual Studio는 이러한 어셈블리를 설치하고 등록하지 않습니다. 사용자가 직접 수행해야 합니다.

프로그램 파일 디렉터리의 주 interop 어셈블리

PIA는 Visual Studio를 설치하는 동안 전역 어셈블리 캐시 외부의 파일 시스템 위치에 자동으로 추가됩니다. 새 프로젝트를 만들 때 Visual Studio는 이러한 PIA 복사본에 대한 참조를 프로젝트에 자동으로 추가합니다. Visual Studio는 전역 어셈블리 캐시의 어셈블리 대신 이러한 PIA 복사본을 사용하여 프로젝트를 개발 및 빌드할 때 형식 참조를 확인합니다.

다른 버전의 PIA가 전역 어셈블리 캐시에 등록되면 여러 개발 문제가 발생할 수 있습니다. PIA의 추가 복사본은 이러한 문제를 방지하는 데 도움이 됩니다.

Visual Studio 2017 이상의 경우 이러한 PIA 복사본은 개발 컴퓨터의 다음 공유 위치에 설치됩니다.

  • %ProgramFiles%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\

  • (또는 %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ 64비트 운영 체제)

참고 항목

이전 버전의 Visual Studio의 경우 이러한 PIA는 해당 버전의 Visual Studio에 대한 %ProgramFiles% 폴더 아래의 Visual Studio Tools for Office\PIA 폴더에 설치됩니다. 예: %ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA\

전역 어셈블리 캐시의 주 interop 어셈블리

특정 개발 작업을 수행하려면 개발 컴퓨터의 전역 어셈블리 캐시에 PIA를 설치하고 등록해야 합니다. 일반적으로는 개발 컴퓨터에 Office를 설치할 때 PIA가 자동으로 설치됩니다. 자세한 내용은 Office 솔루션을 개발하기 위한 컴퓨터 구성을 참조하세요.

최종 사용자 컴퓨터에서는 Office 솔루션을 실행하는 데 Office PIA가 필요하지 않습니다. 자세한 내용은 Office 솔루션 디자인 및 만들기를 참조하세요.

단일 프로젝트에서 여러 Microsoft Office 애플리케이션의 기능 사용

Visual Studio의 각 Office 프로젝트 템플릿은 단일 Microsoft Office 애플리케이션에서 사용하도록 설계되어 있습니다. 여러 Microsoft Office 애플리케이션에서 기능을 사용하거나 Visual Studio에 프로젝트가 없는 애플리케이션 또는 구성 요소에서 기능을 사용하려면 필요한 PIA에 대한 참조를 추가해야 합니다.

대부분의 경우 Visual Studio에서 %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ 디렉터리에 설치한 PIA에 대한 참조를 추가해야 합니다. 이러한 어셈블리 버전은 참조 관리자 대화 상자의 프레임워크 탭에 표시됩니다. 자세한 내용은 방법: 주 Interop 어셈블리를 통한 Office 애플리케이션 대상 선택을 참조하세요.

전역 어셈블리 캐시에서 PIA를 설치 및 등록한 경우 이러한 어셈블리 버전은 참조 관리자 대화 상자의 COM 탭에 표시됩니다. 이러한 어셈블리 버전에 대한 참조는 추가해서는 안 됩니다. 해당 버전을 사용하는 경우 몇 가지 개발 문제가 발생할 수 있습니다. 예를 들어 전역 어셈블리 캐시에 여러 PIA 버전을 등록한 경우에는 참조 관리자 대화 상자의 COM 탭에서 다른 어셈블리 버전을 지정하더라도 프로젝트는 마지막으로 등록된 어셈블리 버전에 자동으로 바인딩됩니다.

참고 항목

일부 어셈블리는 해당 어셈블리를 참조하는 어셈블리를 추가할 때 프로젝트에 자동으로 추가됩니다. 예를 들어 Office.dllMicrosoft.Vbe.Interop.dll 어셈블리에 대한 참조는 Word, Excel, Outlook, Microsoft Forms 또는 Graph 어셈블리에 대한 참조를 추가할 때 자동으로 추가됩니다.

Microsoft Office 애플리케이션용 주 interop 어셈블리

다음 표에서는 Office 2016, Office 2013 및 Office 2010에 사용할 수 있는 기본 interop 어셈블리를 나열합니다.


Office 애플리케이션 또는 구성 요소 주 interop 어셈블리 이름
Microsoft Access 14.0 개체 라이브러리

Microsoft Access 15.0 개체 라이브러리
Microsoft.Office.Interop.Access.dll
Microsoft Office 14.0 Access 데이터베이스 엔진 개체 라이브러리

Microsoft Office 15.0 Access 데이터베이스 엔진 개체 라이브러리
Microsoft.Office.Interop.Access.Dao.dll
Microsoft Excel 14.0 개체 라이브러리

Microsoft Excel 15.0 개체 라이브러리
Microsoft.Office.Interop.Excel.dll
Microsoft Graph 14.0 개체 라이브러리(PowerPoint, Access 및 Word에서 그래프에 사용됨)

Microsoft Graph 15.0 개체 라이브러리
Microsoft.Office.Interop.Graph.dll
Microsoft InfoPath 2.0 형식 라이브러리(InfoPath 2007에만 해당함) Microsoft.Office.Interop.InfoPath.dll
Microsoft InfoPath XML Interop 어셈블리(InfoPath 2007에만 해당함) Microsoft.Office.Interop.InfoPath.Xml.dll
Microsoft Office 14.0 개체 라이브러리(Office 공유 기능)

Microsoft Office 15.0 개체 라이브러리(Office 공유 기능)
office.dll
Microsoft Office Outlook 뷰 컨트롤(웹 페이지와 애플리케이션에서 받은 편지함에 액세스하는 데 사용할 수 있음) Microsoft.Office.Interop.OutlookViewCtl.dll
Microsoft Outlook 14.0 개체 라이브러리

Microsoft Outlook 15.0 개체 라이브러리
Microsoft.Office.Interop.Outlook.dll
Microsoft PowerPoint 14.0 개체 라이브러리

Microsoft PowerPoint 15.0 개체 라이브러리
Microsoft.Office.Interop.PowerPoint.dll
Microsoft Project 14.0 개체 라이브러리

Microsoft Project 15.0 개체 라이브러리
Microsoft.Office.Interop.MSProject.dll
Microsoft Publisher 14.0 개체 라이브러리

Microsoft Publisher 15.0 개체 라이브러리
Microsoft.Office.Interop.Publisher.dll
Microsoft SharePoint Designer 14.0 웹 개체 참조 라이브러리 Microsoft.Office.Interop.SharePointDesigner.dll
Microsoft SharePoint Designer 14.0 페이지 개체 참조 라이브러리 Microsoft.Office.Interop.SharePointDesignerPage.dll
Microsoft 스마트 태그 2.0 형식 라이브러리 참고: 스마트 태그는 Excel 2010 및 Word 2010에서 더 이상 사용되지 않습니다. Microsoft.Office.Interop.SmartTag.dll
Microsoft Visio 14.0 형식 라이브러리

Microsoft Visio 15.0 형식 라이브러리
Microsoft.Office.Interop.Visio.dll
Microsoft Visio 14.0 웹으로 저장 형식 라이브러리

Microsoft Visio 15.0 웹으로 저장 형식 라이브러리
Microsoft.Office.Interop.Visio.SaveAsWeb.dll
Microsoft Visio 14.0 드로잉 컨트롤 형식 라이브러리

Microsoft Visio 15.0 드로잉 컨트롤 형식 라이브러리
Microsoft.Office.Interop.VisOcx.dll
Microsoft Word 14.0 개체 라이브러리

Microsoft Word 15.0 개체 라이브러리
Microsoft.Office.Interop.Word.dll
Microsoft Visual Basic for Applications Extensibility 5.3 Microsoft.Vbe.Interop.dll

바인딩 리디렉션 어셈블리

Office PIA를 Office와 함께 또는 PIA의 재배포 가능 패키지를 설치하여 전역 어셈블리 캐시에 설치 및 등록하면 바인딩 리디렉션 어셈블리도 전역 어셈블리 캐시에만 설치됩니다. 이러한 어셈블리를 통해 주 interop 어셈블리의 올바른 버전이 런타임에 로드되도록 할 수 있습니다.

예를 들어 Office 2010 어셈블리를 참조하는 솔루션이 동일한 기본 interop 어셈블리의 Office 2013 버전이 있는 컴퓨터에서 실행되는 경우 바인딩 리디렉션 어셈블리는 .NET Framework 런타임에 Office 2013 버전의 기본 interop 어셈블리를 로드하도록 지시합니다.

자세한 내용은 방법: 자동 바인딩 리디렉션 사용 설정 및 해제를 참조하세요.