.NET Framework 4를 대상으로 하는 Office 프로젝트의 디자인 변경
업데이트: 2010년 5월
Visual Studio 2010에서는 .NET Framework 4를 대상으로 하는 Office 프로젝트의 디자인에 대한 몇 가지 사항이 변경되었습니다. 이전 버전의 Visual Studio의 Office 프로젝트에 익숙한 경우 .NET Framework 4를 대상으로 하는 Office 프로젝트를 개발하기 전에 이러한 변경 내용을 알고 있어야 합니다. .NET Framework 4를 대상으로 하도록 업데이트하려는 기존 프로젝트가 있는 경우 몇 가지 주요 변경 내용을 알고 있어야 합니다.
Visual Studio 2010 Tools for Office Runtime의 인터페이스 기반 디자인 이해
.NET Framework 4를 대상으로 하는 Office 프로젝트를 개발하는 경우 Visual Studio 2010 Tools for Office Runtime에서 사용하는 대부분의 형식은 인터페이스입니다. 이는 이러한 형식이 클래스였던 이전 버전의 Microsoft Visual Studio Tools for Office Runtime과 비교하여 크게 달라진 점입니다. 예를 들어 .NET Framework 4를 대상으로 하는 경우 Worksheet 및 Document 형식은 클래스가 아닌 인터페이스입니다. 자세한 내용은 Visual Studio Tools for Office 런타임 개요를 참조하십시오.
이전 버전의 Microsoft Visual Studio Tools for Office Runtime에서 직접 인스턴스화할 수 있는 형식에 대해 이제 Globals.Factory 개체의 메서드를 사용하여 이러한 형식의 인스턴스를 가져올 수 있습니다. 예를 들어 SmartTag 인터페이스를 구현하는 개체를 가져오려면 Globals.Factory.CreateSmartTag 메서드를 사용합니다. 자세한 내용은 다음 항목을 참조하십시오.
Office 프로젝트의 새 기본 클래스
Visual Studio 2010 Tools for Office Runtime의 새 인터페이스 기반 디자인은 Office 프로젝트의 ThisDocument, ThisWorkbook 및 ThisAddIn과 같은 생성된 클래스에 영향을 줍니다. .NET Framework 3.5 및 이전 버전의 프레임워크를 대상으로 하는 Office 프로젝트에서는 이러한 생성된 클래스가 Microsoft Visual Studio Tools for Office Runtime의 Microsoft.Office.Tools.Word.Document, Microsoft.Office.Tools.Excel.Worksheet 및 Microsoft.Office.Tools.AddIn과 같은 클래스에서 파생됩니다. .NET Framework 4를 대상으로 하는 프로젝트에서는 이러한 Microsoft Visual Studio Tools for Office Runtime 클래스가 이제 인터페이스입니다. 따라서 Office 프로젝트의 생성된 클래스는 더 이상 해당 클래스에서 구현을 파생할 수 없습니다. 대신, 생성된 클래스는 DocumentBase, WorksheetBase 및 AddInBase와 같은 새로운 기본 클래스에서 파생됩니다. 자세한 내용은 응용 프로그램 수준 추가 기능 프로그래밍 및 문서 수준 사용자 지정 프로그래밍을 참조하십시오.
기본 클래스는 Microsoft Visual Studio Tools for Office Runtime 재배포 가능 패키지의 일부가 아닙니다. 대신 기본 클래스는 Visual Studio 2010에 포함된 유틸리티 어셈블리에 정의되어 있습니다. 이러한 어셈블리는 Office 프로젝트를 빌드할 때 출력 폴더에 복사되며 솔루션과 함께 배포되어야 합니다. 유틸리티 어셈블리에 대한 자세한 내용은 Visual Studio Tools for Office 런타임의 어셈블리를 참조하십시오.
.NET Framework 4로 대상이 변경된 Office 프로젝트의 주요 변경 내용
다음 표에서는 .NET Framework 4로 대상이 변경된 Office 프로젝트에서 발생할 수 있는 주요 변경 내용을 보여 줍니다. 자세한 내용은 .NET Framework 4로 Office 솔루션 마이그레이션을 참조하십시오.
변경 수준 |
결과 |
---|---|
SecurityTransparentAttribute는 Office 프로젝트에서 더 이상 사용되거나 지원되지 않습니다. |
Visual Studio 2008에서 업그레이드하는 Office 프로젝트의 AssemblyInfo 코드 파일에서 이 특성을 제거해야 합니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Office 프로젝트를 실행하는 데 필요한 변경을 참조하십시오. |
ExcelLocale1033Attribute는 Excel 프로젝트에서 더 이상 사용되거나 지원되지 않습니다. |
Excel 프로젝트의 AssemblyInfo 코드 파일에서 이 특성을 제거해야 합니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Excel 및 Word 프로젝트 업데이트를 참조하십시오. |
리본(비주얼 디자이너) 프로젝트 항목의 프로그래밍 모델이 변경되었습니다. |
프로젝트의 리본 항목에 대한 코드 숨김 파일을 수정해야 합니다. 런타임에 리본 컨트롤을 인스턴스화하거나 리본 이벤트를 처리하거나 리본 구성 요소의 위치를 프로그래밍 방식으로 설정하는 코드도 수정해야 합니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Office 프로젝트에서 리본 메뉴 사용자 지정 업데이트를 참조하십시오. |
Outlook 양식 영역의 프로그래밍 모델이 변경되었습니다. |
프로젝트의 양식 영역에 대한 코드 숨김 파일과 런타임에 특정 양식 영역 클래스를 인스턴스화하는 코드를 수정해야 합니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Outlook 프로젝트에서 양식 영역 업데이트를 참조하십시오. |
Excel 및 Word 프로젝트의 스마트 태그에 대한 프로그래밍 모델이 변경되었습니다. Excel 2010 및 Word 2010에서 스마트 태그는 더 이상 사용되지 않습니다. 자세한 내용은 스마트 태그 개요를 참조하십시오. |
스마트 태그와 작업 개체를 만드는 코드와 사용자 지정 스마트 태그 인식기를 정의하는 코드를 수정해야 합니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Excel 및 Word 프로젝트 업데이트를 참조하십시오. |
GetVstoObject 및 HasVstoObject 메서드의 구문이 변경되었습니다. |
PIA(주 interop 어셈블리)에서 네이티브 개체의 이러한 메서드에 액세스할 때 Globals.Factory 개체를 이 메서드에 전달해야 합니다. 또는 프로젝트의 Globals.Factory 속성에서 반환하는 개체의 이러한 메서드에 액세스할 수 있습니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Excel 및 Word 프로젝트 업데이트를 참조하십시오. |
Word 콘텐츠 컨트롤의 이벤트가 새 대리자와 연결되어 있습니다. |
Word 콘텐츠 컨트롤의 이벤트를 처리하는 코드를 수정하여 새 대리자를 지정해야 합니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Excel 및 Word 프로젝트 업데이트를 참조하십시오. |
OLEObject 및 OLEControl 클래스의 이름이 바뀌었습니다. |
이러한 클래스의 인스턴스를 사용하는 코드를 Microsoft.Office.Tools.Excel.ControlSite 또는 Microsoft.Office.Tools.Word.ControlSite 개체를 대신 사용하도록 수정해야 합니다. 자세한 내용은 .NET Framework 4로 마이그레이션하는 Excel 및 Word 프로젝트 업데이트를 참조하십시오. |
호스트 항목 클래스(예: ThisWorkbook, Sheetn, ThisDocument 및 ThisAddIn)에서는 더 이상 재정의할 수 있는 Dispose 메서드를 제공하지 않습니다. |
Dispose 메서드 재정의의 코드를 호스트 항목 클래스의 Shutdown 이벤트 처리기(예: ThisAddIn_Shutdown)로 이동하고, 호스트 항목 클래스에서 Dispose 메서드 재정의를 제거해야 합니다. |
참고 항목
개념
.NET Framework 4로 Office 솔루션 마이그레이션
Visual Studio Tools for Office 런타임 개요
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2010년 5월 |
.NET Framework 4를 대상으로 하는 프로젝트의 Dispose 메서드 제거에 대한 정보를 추가했습니다. |
향상된 기능 관련 정보 |