다음을 통해 공유


Visual Studio Tools for Office 런타임 개요

업데이트: 2007년 11월

Visual Studio Tools for Office를 사용하여 만든 솔루션을 실행하려면 최종 사용자 컴퓨터에 Visual Studio Tools for Office 런타임이 있어야 합니다. 런타임에는 솔루션과 Microsoft Office 응용 프로그램 사이의 통신 계층을 제공하는 관리되는 어셈블리와 응용 프로그램에서 솔루션을 로드하는 데 사용하는 관리되지 않는 구성 요소가 포함됩니다.

최종 사용자 컴퓨터에 런타임을 설치하는 것에 대한 자세한 내용은 방법: Visual Studio Tools for Office 런타임 설치를 참조하십시오.

이 항목에서는 다음 내용에 대해 설명합니다.

  • 다양한 런타임 버전 이해

  • 런타임 어셈블리 이해

  • 런타임 로더 구성 요소 이해

다양한 런타임 버전 이해

각기 다른 버전의 Microsoft Office용 Visual Studio Tools for Office 솔루션에 각기 다른 버전의 런타임이 필요합니다. 런타임 버전은 솔루션을 실행하는 Office 버전이 아니라 솔루션을 만드는 데 사용된 프로젝트 템플릿에 따라 결정됩니다.

다음 표에서는 최종 사용자 컴퓨터에서 솔루션을 실행하는 데 필요한 런타임 및 Microsoft Office의 버전을 보여 줍니다.

프로젝트 템플릿 버전

최종 사용자 컴퓨터에 필요한 Visual Studio Tools for Office 런타임 버전

최종 사용자 컴퓨터에서 솔루션을 실행할 수 있는 Microsoft Office 버전

2007 Microsoft Office system용 프로젝트

Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)

2007 Microsoft Office system

Microsoft Office 2003용 프로젝트

Visual Studio 2005 Tools for Office Second Edition 런타임

2007 Microsoft Office system

Microsoft Office 2003

두 버전의 런타임은 모두 Microsoft Visual Studio Tools for the Microsoft Office System(버전 3.0)을 설치할 때 개발 컴퓨터에 자동으로 설치됩니다.

두 버전의 Microsoft Office와 함께 실행할 수 있는 솔루션을 만드는 것에 대한 자세한 내용은 여러 버전의 Microsoft Office를 위한 솔루션 만들기를 참조하십시오.

각 버전의 런타임에 포함된 어셈블리에는 몇 가지 차이점이 있습니다. 자세한 내용은 어셈블리 차이점을 참조하십시오.

참고:

Visual Studio 2005 Tools for Office Second Edition 런타임은 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System(VSTO 2005 SE)에서 처음 출시되었습니다. 이 버전의 런타임은 Microsoft Visual Studio Tools for the Microsoft Office System(버전 3.0)을 사용하여 만든 Microsoft Office 2003용 솔루션에서도 사용됩니다.

두 런타임에 대한 참조 문서 찾기

도움말의 링크나 색인 항목을 클릭하여 네임스페이스, 형식 또는 멤버에 대한 참조 정보를 얻을 경우 거의 동일한 두 개의 결과를 얻을 수 있습니다. 두 항목에서는 두 버전의 런타임에서 동일한 멤버를 설명합니다. 적절한 버전 표시기로 식별된 항목을 선택하십시오.

  • 2007 시스템. Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)을 참조합니다.

  • 2003 시스템. Visual Studio 2005 Tools for Office Second Edition 런타임을 참조합니다.

런타임 어셈블리 이해

Visual Studio Tools for Office 런타임에 포함된 어셈블리에서는 다음과 같은 범주의 클래스를 제공합니다.

  • 솔루션에서 호스트 응용 프로그램을 자동화하고 확장하는 데 사용하는 클래스

  • 솔루션에서 호스트 응용 프로그램과 통신할 수 있게 해 주는 인프라 클래스

참고:

프로젝트를 만들면 Visual Studio Tools for Office에서는 프로젝트 형식에 사용되는 어셈블리에 대한 참조를 자동으로 추가합니다. 일부 어셈블리는 문서 수준 프로젝트에서만 사용되고 일부 어셈블리는 응용 프로그램 수준 프로젝트에서만 사용됩니다.

Visual Studio Tools for Office 3.0 런타임의 어셈블리

다음 표에서는 Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)에 포함된 어셈블리를 보여 줍니다. 이 버전의 런타임은 2007 Microsoft Office system용으로 만들어진 솔루션에서 사용됩니다.

이러한 어셈블리의 네임스페이스 및 클래스에 대한 설명서는 2007 시스템 관리되는 참조를 참조하십시오.

어셈블리 이름

설명

Microsoft.Office.Tools.Common.v9.0.dll

다음 클래스를 제공합니다.

  • 응용 프로그램 수준 추가 기능의 AddIn 기본 클래스

  • 문서 수준 사용자 지정의 작업 창(Actions Pane) 및 스마트 태그를 만들기 위한 클래스

  • 응용 프로그램 수준 추가 기능의 사용자 지정 작업 창(Task Pane)을 만들기 위한 클래스

  • 리본 메뉴 사용자 지정을 만들기 위한 클래스

  • Excel 개체 모델에 대한 모든 문화권 구분 호출에 사용되는 LCID(로캘 ID)를 Excel 솔루션에서 제어하는 데 사용하는 ExcelLocale1033AttributeExcelLocale1033Proxy 클래스. 자세한 내용은 여러 가지 국가별 설정으로 Excel의 데이터 서식 지정을 참조하십시오.

Microsoft.Office.Tools.Excel.v9.0.dll

Excel 문서 수준 사용자 지정에 대한 호스트 항목 및 호스트 컨트롤을 제공합니다. 자세한 내용은 호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.

Microsoft.Office.Tools.Outlook.v9.0.dll

Outlook 추가 기능에 사용자 지정 양식 영역을 만드는 데 사용할 수 있는 클래스를 제공합니다.

Microsoft.Office.Tools.Word.v9.0.dll

Word 문서 수준 사용자 지정에 대한 호스트 항목 및 호스트 컨트롤을 제공합니다. 자세한 내용은 호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.

Microsoft.Office.Tools.v9.0.dll

다음 클래스를 제공합니다.

  • 문서 수준 사용자 지정의 호스트 컨트롤에 대한 데이터 바인딩 기능을 제공하는 RemoteBindableComponent 클래스

  • Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임) 인프라의 일부이며 코드에서 직접 사용할 수 없는 그 밖의 클래스

Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll

다음 클래스를 제공합니다.

  • 문서 수준 사용자 지정의 데이터 개체를 캐시하는 데 사용할 수 있는 CachedAttribute 특성 및 ICachedType 클래스

  • Visual Studio Tools for Office 런타임에서 throw될 수 있는 예외

  • Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임) 인프라의 일부이며 코드에서 직접 사용할 수 없는 그 밖의 클래스

Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

다음 클래스를 제공합니다.

  • 문서에 사용자 지정 어셈블리를 프로그래밍 방식으로 연결하고 문서의 캐시된 데이터에 액세스하는 데 사용할 수 있는 ServerDocument 클래스

  • 문서 수준 사용자 지정의 캐시된 데이터에 대한 계층 구조를 나타내는 일부 클래스

Microsoft.VisualStudio.Tools.Office.Runtime.v9.0.dll

다음 클래스를 제공합니다.

Microsoft.VisualStudio.Tools.Office.AppInfoDocument.v9.0.dll

Microsoft.VisualStudio.Tools.Office.Contract.v9.0.dll

Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임) 인프라의 일부인 클래스를 제공합니다. 이러한 클래스는 코드에서 직접 사용할 수 없습니다.

Visual Studio 2005 Tools for Office Second Edition 런타임의 어셈블리

다음 표에서는 Visual Studio 2005 Tools for Office Second Edition 런타임에 포함된 어셈블리를 보여 줍니다. 이 버전의 런타임은 Microsoft Office 2003용으로 만들어진 솔루션에서 사용됩니다.

이러한 어셈블리의 네임스페이스 및 클래스에 대한 설명서는 2003 시스템 관리되는 참조를 참조하십시오.

어셈블리 이름

설명

Microsoft.Office.Tools.Common.dll

다음 클래스를 제공합니다.

  • 응용 프로그램 수준 추가 기능의 AddIn 기본 클래스

  • 문서 수준 사용자 지정의 작업 창(Actions Pane) 및 스마트 태그를 만들기 위한 클래스

Microsoft.Office.Tools.Excel.dll

Excel 문서 수준 사용자 지정에 대한 호스트 항목 및 호스트 컨트롤을 제공합니다. 자세한 내용은 호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.

Microsoft.Office.Tools.Word.dll

Word 문서 수준 사용자 지정에 대한 호스트 항목 및 호스트 컨트롤을 제공합니다. 자세한 내용은 호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.

Microsoft.VisualStudio.Tools.Applications.Runtime.dll

다음 클래스를 제공합니다.

  • 문서에 사용자 지정을 프로그래밍 방식으로 연결하고 문서의 캐시된 데이터에 액세스하는 데 사용할 수 있는 ServerDocument 클래스

  • 문서 수준 사용자 지정의 데이터 개체를 캐시하는 데 사용할 수 있는 CachedAttribute 특성 및 ICachedType 클래스

  • Visual Studio Tools for Office 런타임에서 throw될 수 있는 예외

  • Visual Studio 2005 Tools for Office Second Edition 런타임 인프라의 일부이며 코드에서 직접 사용할 수 없는 그 밖의 클래스

어셈블리 차이점

Visual Studio 2005 Tools for Office Second Edition 런타임에 포함된 일부 어셈블리의 이름은 Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)에서의 이름과 다릅니다. 또한 Visual Studio 2005 Tools for Office Second Edition 런타임의 일부인 한 어셈블리가 Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)에서는 여러 개의 새 어셈블리로 나뉘었습니다.

다음 표에서는 이러한 차이점을 보여 줍니다.

Visual Studio 2005 Tools for Office Second Edition 런타임의 어셈블리 이름

Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)의 어셈블리 이름

Microsoft.Office.Tools.Common.dll

Microsoft.Office.Tools.Common.v9.0.dll

Microsoft.Office.Tools.Excel.dll

Microsoft.Office.Tools.Excel.v9.0.dll

Microsoft.Office.Tools.Word.dll

Microsoft.Office.Tools.Word.v9.0.dll

Microsoft.VisualStudio.Tools.Applications.Runtime.dll

Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll

또한 일부 클래스는 다음과 같은 새 어셈블리로 이동되었습니다.

  • Microsoft.Office.Tools.v9.0.dll

  • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

런타임 로더 구성 요소 이해

Visual Studio Tools for Office 런타임에는 Microsoft Office 응용 프로그램에서 Visual Studio Tools for Office 솔루션을 로드하는 데 사용하는 관리되지 않는 DLL이 몇 개 포함되어 있습니다. 이러한 DLL에 대해 직접 작업을 수행할 필요는 없지만 해당 DLL의 용도를 알고 있으면 Visual Studio Tools for Office 솔루션의 아키텍처를 보다 잘 이해할 수 있습니다.

로드 프로세스 동안 이러한 구성 요소가 사용되는 방식에 대한 자세한 내용은 문서 수준 사용자 지정 아키텍처응용 프로그램 수준 추가 기능 아키텍처를 참조하십시오.

런타임 로더

사용자가 문서 수준 사용자 지정을 열거나 추가 기능을 시작하면 Microsoft Office 응용 프로그램에서는 런타임 로더를 호출합니다. 이 구성 요소를 VSTOEE.dll이라고 합니다.

런타임 로더는 추가 기능을 로드하는 Microsoft Office의 버전에 맞는 올바른 버전의 Visual Studio Tools for Office 런타임이 로드되도록 합니다. 여러 버전의 Visual Studio Tools for Office 런타임을 동일한 컴퓨터에 설치할 수 있지만 한 번에 하나의 VSTOEE.dll 인스턴스만 설치됩니다. 이 인스턴스는 컴퓨터에 설치된 최신 버전의 런타임과 함께 제공된 VSTOEE.dll입니다.

솔루션 로더

솔루션 로더에서는 솔루션 어셈블리를 로드하는 데 필요한 대부분의 작업을 수행합니다. 솔루션 로더의 파일 이름은 Visual Studio Tools for Office 런타임 버전에 따라 달라집니다. Microsoft Visual Studio Tools for the Microsoft Office system (버전 3.0 런타임)에서 솔루션 로더의 이름은 VSTOLoader.dll이고, Visual Studio 2005 Tools for Office Second Edition 런타임에서는 AddinLoader.dll입니다.

솔루션 로더에서는 다음과 같은 작업을 수행합니다.

  • 각 Visual Studio Tools for Office 솔루션 어셈블리의 새 응용 프로그램 도메인을 만듭니다.

  • 일련의 보안 검사를 수행하여 추가 기능 어셈블리에 실행 권한이 있는지 확인합니다.

솔루션 로더에서는 추가 기능과 관련된 다음 몇 가지 작업도 수행합니다.

  • IDTExtensibility2 인터페이스를 구현합니다. IDTExtensibility2는 Microsoft Office 응용 프로그램을 위한 모든 추가 기능에서 구현해야 하는 COM 인터페이스입니다. 이 인터페이스는 응용 프로그램에서 추가 기능과 통신하기 위해 호출하는 메서드를 정의합니다.

  • IManagedAddin 인터페이스를 구현합니다. 이 인터페이스는 2007 릴리스 이후의 Office 응용 프로그램에서 Visual Studio Tools for Office 추가 기능의 로드를 돕기 위해 사용됩니다. 자세한 내용은 IManagedAddin 인터페이스를 참조하십시오.

참고 항목

작업

방법: Visual Studio Tools for Office 런타임 설치

방법: Visual Studio Tools for Office 프로젝트 만들기

개념

문서 수준 사용자 지정 아키텍처

응용 프로그램 수준 추가 기능 아키텍처

Office 솔루션 업그레이드 및 마이그레이션

기타 리소스

Visual Studio Tools for Office 솔루션의 아키텍처