FAQ
ArcGIS 10.2 for Desktop および ArcGIS 10.2 Engine の .NET 4.0 および 4.5 サポートについて

ナレッジ番号:2777 | 登録日:2023/05/29 | 更新日:2023/12/28

概要

このトピックでは、ArcGIS 10.2 for Desktop および ArcGIS 10.2 Engine アプリケーション開発者に対して .NET Framework 4.0 および 4.5 に関する情報を提供します。

ArcGIS 10.2 で .NET 4.0 および 4.5 を使用するには

.NET Framework 4.0 および 4.5 の機能が必要な場合、.NET Framework 4.x で記述されたコンポーネントを使用して Esri 製品を拡張することができます。しかし、ターゲット コンピュータに .NET Framework 4.x が存在することを確認し、必要であれば再配布するのは開発者の責任となります。

.NET 4.x アドインおよびカスタム コンポーネントを ArcGIS for Desktop アプリケーション(ArcMap, ArcCatalog など)内でデバッグするには、開発コンピュータ上にあるアプリケーションの構成ファイルに対して .NET 4.x ランタイムをサポートするように修正する必要があります。これにより、Visual Studio を介してプロセスにアタッチできます。

たとえば、ArcMap 用の .NET 4.x アドインを作成した場合、それをデバッグするには ArcGIS for Desktop をインストールしたフォルダの bin フォルダ内にある ArcMap.exe.config ファイルを編集します。この構成ファイルはアプリケーションでサポートされる共通言語ランタイム(CLR)を指定しており、古いコンポーネントが現バージョンの ArcGIS でテストできるようにアセンブリをリダイレクトします。アプリケーションの構成ファイルの内容は以下の通りです。

[XML]

  < startup >
  <!--<supportedRuntime version="v4.0.30319"/>-->
  < supportedRuntime version ="v2.0.50727" />
  </ startup > 


Visual Studio でデバッグをできるようにするには .NET 4.x の <supportedRuntime> 要素のコメントを解除します。

 ArcGIS for Desktop の .NET アドインは配布時にセットアップ プログラムを必要とせず、単にダブルクリックしてインストールしたり、アドイン マネージャからインストールすることができるため、アドインのインストール前にクライアントが .NET Framework 4.x をインストールしているかどうかを確認することができません。したがって、.NET Framework 4.x がターゲットとなっている場合、アドインを利用するユーザが限定される可能性があります。

もっともよい方法はソリューションのターゲットを .NET Framework 3.5 にすることです。なぜならば ArcGIS for Desktop および ArcGIS Engine の要件として .NET Framework 3.5 SP1 が必要なためです。.NET Framework 3.5 をターゲットに設定していれば、クライアント コンピュータに適切な製品がインストールされているかどうかを確認するだけで動作します。

.NET Framework 3.5 を使用して作成したアセンブリで .NET 4.0 および 4.5 ソリューションを作成することについての影響

.NET Framework の以前のバージョンは 1 つのコンピュータに複数のバージョンをインストールできましたが、1 つのプロセス内にロードできる .NET Framework のバージョンは 1 つのみでした。これにより、古い .NET Framework を使用して作成したソリューションに互換性の問題が発生する可能性がありました(Microsoft はこの問題に対して、.NET Framework 2.0 を加えた .NET Framework 3.0 と 3.5 を作成することによって回避しました)。

.NET Framework の以前のバージョンとは異なり、.NET Framework 4.0 の機能は .NET Framework 2.0 とのインプロセス サイドバイサイドを許可しています。これは、1 つのプロセスが同時に両方の .NET Framework のバージョンを使用できることを意味します。その結果、マネージ .NET Framework 3.5 およびマネージ COM コンポーネントが .NET Framework 3.5 内で実行でき、.NET Framework の新しいバージョンに対する互換性の問題を考慮しなくとも新しい .NET Framework. 4.0 の機能を利用できます。

参照アセンブリの [相互運用型の埋め込み] プロパティを使用する

[相互運用型の埋め込み] は .NET Framework 4.0 の新しい機能であり、実行プログラムあるいは DLL の PIA 内に格納される属性情報を含めることができます。これは PIA の配布と検証がターゲット コンピュータ上でも行われたことにより、ある COM ベースの技術で作成したマネージ ソリューションの配布が難しかったために導入されました。

デフォルトでは、[Add ArcGIS Reference] プラグインを使用せずに PIA を Visual Studio 2010 .NET 4.0 プロジェクトに追加するときに、PIA の [相互運用型の埋め込み] プロパティが True に設定されます。もっともよい方法は、ArcGIS のカスタマイズの配布時にこれを False に設定することです。そうすることで ArcGIS のインストーラが適切な PIA とアセンブリをシステム上に配置するので、ソリューションとともに含める必要がなくなります。

メタデータ

種類

製品

バージョン