.NET Framework 4 または .NET Framework 4.5 を対象とする Office プロジェクトのデザインの変更
Visual Studio 2010では、Visual Studio は .NET Framework 4 か .NET Framework 4.5を対象とする Office プロジェクトのデザインに対する変更が削除されています。.NET Framework のバージョンを対象とする Office プロジェクトを開発する前に、Visual Studio の以前のバージョンの Office に慣れている場合は、これらを変更する。既定では、Visual Studio 2012 のターゲットを使用してそれらのバージョン作成するすべてのプロジェクト。
次のセクションでは、これらの Office プロジェクトのデザインの変更について説明します。
Visual Studio 2010 Tools for Office Runtime のインターフェイス ベースのデザインについて
ターゲットは、Office ランタイムの間 .NET Framework 4 かの .NET Framework 4.5、Visual Studio 2010 で使用する型の大部分ツールを使用するとする Office プロジェクトを開発するためのインターフェイスです。これは、以前のバージョンの Visual Studio Tools for Office Runtime からの重大な変更点です。以前のバージョンでは、これらの型はクラスです。たとえば、.NET Framework 4 か .NET Framework 4.5を対象とする場合、Worksheet と Document の型はクラスではなくインターフェイスです。詳細については、「Visual Studio Tools for Office Runtime の概要」を参照してください。
以前のバージョンの Visual Studio Tools for Office Runtime で直接インスタンス化できた型の場合は、Globals.Factory オブジェクトのメソッドを使用して型のインスタンスを取得できます。たとえば、SmartTag インターフェイスを実装するオブジェクトを取得するには、Globals.Factory.CreateSmartTag メソッドを使用します。詳細については、次のトピックを参照してください。
.NET Framework 4 または .NET Framework 4.5 に移行する Excel プロジェクトおよび Word プロジェクトの更新
.NET Framework 4 または .NET Framework 4.5 に移行する Office プロジェクトのリボンのカスタマイズの更新
.NET Framework 4 または .NET Framework 4.5 に移行する Outlook プロジェクトのフォーム領域の更新
Office プロジェクトの新しい基本クラス
Office ランタイムの Visual Studio 2010 Tools の新しいインターフェイス ベースのデザインは ThisDocument、ThisWorkbookと ThisAddInなど、Office プロジェクトで生成されるクラスに影響します。.NET Framework 3.5 および以前のバージョンのフレームワークを対象とする Office プロジェクトでは、これらの生成されるクラスは、Microsoft.Office.Tools.Word.Document、Microsoft.Office.Tools.Excel.Worksheet、Microsoft.Office.Tools.AddIn などの Visual Studio Tools for Office Runtime のクラスから派生します。これで、.NET Framework 4 か .NET Framework 4.5を対象とするプロジェクトでは、Visual Studio Tools for Office Runtime のこれらのクラスは、インターフェイスです。そのため、Office プロジェクトで生成されるクラスでは実装を派生できなくなりました。代わりに、生成されるクラスは、DocumentBase、WorksheetBase、AddInBase などの新しい基本クラスから派生します。詳細については、「アプリケーション レベルのアドインのプログラミング」および「ドキュメント レベルのカスタマイズのプログラミング」を参照してください。
基本クラスは、再頒布可能な Visual Studio Tools for Office Runtime には含まれません。代わりに、Visual Studio 2012 に含まれるユーティリティ アセンブリに定義されています。これらのアセンブリは、Office プロジェクトのビルド時に出力フォルダーにコピーし、ソリューションと共に配置する必要があります。ユーティリティ アセンブリの詳細については、「Visual Studio Tools for Office Runtime のアセンブリ」を参照してください。
.NET Framework 4 に再ターゲットされた Office プロジェクトの互換性に影響する変更点
次の表は、.NET Framework 4 か .NET Framework 4.5に再ターゲットされた Office プロジェクトの互換性に影響する主な変更点の一覧を示します。詳細については、「.NET Framework 4 または .NET Framework 4.5 への Office ソリューションの移行」を参照してください。
互換性に影響する変更点 |
結果 |
---|---|
SecurityTransparentAttribute が Office プロジェクトで使用またはサポートされなくなりました。 |
Visual Studio 2008 からアップグレードする Office プロジェクトの AssemblyInfo コード ファイルからこの属性を削除する必要があります。詳細については、「.NET Framework 4 または .NET Framework 4.5 に移行する Office プロジェクトの実行に必要な変更」を参照してください。 |
ExcelLocale1033Attribute が Excel プロジェクトで使用またはサポートされなくなりました。 |
Excel プロジェクトの AssemblyInfo コード ファイルからこの属性を削除する必要があります。詳細については、「.NET Framework 4 または .NET Framework 4.5 に移行する Excel プロジェクトおよび Word プロジェクトの更新」を参照してください。 |
リボン (ビジュアルなデザイナー) プロジェクト項目のプログラミング モデルが変更されました。 |
プロジェクト内のすべてのリボン項目の分離コード ファイルを変更する必要があります。実行時、リボン イベントを処理する、またはセットにリボン コントロールをリボン コンポーネントの位置をプログラムにインスタンス化するすべてのコードを変更する必要があります。詳細については、「.NET Framework 4 または .NET Framework 4.5 に移行する Office プロジェクトのリボンのカスタマイズの更新」を参照してください。 |
Outlook フォーム領域のプログラミング モデルが変更されました。 |
プロジェクトのフォーム領域の分離コード ファイル、および実行時に特定のフォーム領域クラスをインスタンス化するすべてのコードを変更する必要があります。詳細については、「.NET Framework 4 または .NET Framework 4.5 に移行する Outlook プロジェクトのフォーム領域の更新」を参照してください。 |
Excel プロジェクトと Word プロジェクトでのスマート タグのプログラミング モデルが変更されました。スマート タグは、Excel 2010 および Word 2010 では使用されていません。 |
ソリューションがスマート タグを使用すると、エラーは、プロジェクトをビルドしたときに発生します。スマート タグが Excel 2010 と Word 2010で使用されなくなっているため、Visual Studio 2012のソリューションをテストおよびデバッグするには、タグを削除する必要があります。 |
GetVstoObject メソッドと HasVstoObject メソッドの構文が変更されました。 |
プライマリ相互運用機能アセンブリ (PIA) からネイティブ オブジェクトでこれらのメソッドにアクセスするときに、Globals.Factory オブジェクトをメソッドに渡す必要があります。または、プロジェクトの Globals.Factory プロパティによって返されるオブジェクトでこれらのメソッドにアクセスすることもできます。詳細については、「.NET Framework 4 または .NET Framework 4.5 に移行する Excel プロジェクトおよび Word プロジェクトの更新」を参照してください。 |
Word コンテンツ コントロールのイベントが新しいデリゲートに関連付けられています。 |
Word コンテンツ コントロールのイベントを処理するすべてのコードを変更し、新しいデリゲートを指定する必要があります。詳細については、「.NET Framework 4 または .NET Framework 4.5 に移行する Excel プロジェクトおよび Word プロジェクトの更新」を参照してください。 |
OLEObject クラスと OLEControl クラスの名前が変更されました。 |
これらのクラスのインスタンスを使用するすべてのコードを変更し、代わりに Microsoft.Office.Tools.Excel.ControlSite オブジェクトまたは Microsoft.Office.Tools.Word.ControlSite オブジェクトを使用する必要があります。詳細については、「.NET Framework 4 または .NET Framework 4.5 に移行する Excel プロジェクトおよび Word プロジェクトの更新」を参照してください。 |
ホスト項目クラスは、ThisWorkbookなど、Sheetn、ThisDocumentと ThisAddIn、既にオーバーライドできる Dispose のメソッドを提供します。 |
ホスト項目クラス (ThisAddIn_Shutdownの Shutdown のイベント ハンドラーに Dispose のメソッド オーバーライドのコードを移動し、ホスト項目クラスから Dispose のメソッドのオーバーライドを削除します。 |
参照
概念
.NET Framework 4 または .NET Framework 4.5 への Office ソリューションの移行
Visual Studio Tools for Office Runtime の概要