- 構成 1: .NET 4.5.2 フレームワークを対象とする Visual Studio 2015 を使用して ArcMap 10.4 用の ESRI アドインを構築する
- 構成 2: .NET 3.5 フレームワークを対象とする Visual Studio 2013 を使用して、ArcMap 10.3 用の ESRI アドインを構築する
- 構成 3: .NET 4.5.2 フレームワークを対象とする Visual Studio 2013 を使用して、ArcMap 10.4 用の ESRI アドインを構築する
VB.NET プロジェクトで Option Strict On を適用しても、2 つのプロジェクトではエラー BC30512 が発生せず、別のプロジェクトでは発生する理由を理解しようとしています。構成 1 を使用するとエラーが発生するが、構成 2 または 3 ではエラーが発生しないコード行の例を次に示します。
Dim bufferedPolygon As ESRI.ArcGIS.Geometry.IGeometry = New ESRI.ArcGIS.Geometry.Polygon
さらに、コクラスの代わりにマネージド クラスをインスタンス化すると、どちらの構成でもエラーは発生しません (次の行を参照)。
Dim bufferedPolygon As ESRI.ArcGIS.Geometry.IGeometry = New ESRI.ArcGIS.Geometry.PolygonClass
ArcMap のさまざまなバージョンによって、対象となるフレームワークのバージョンが決まります。追加の背景については、ArcObjects ドキュメントの COM から .NET 型への変換が関連しています 。Using ArcObjects (COM-based) in .NET (ArcObjects .NET 10.4 SDK)
エラーが構成 1 でトリガーされ、構成 2 または 3 ではトリガーされないのはなぜですか? そして、コクラスではなくマネージ クラスでインスタンス化されたときに、構成 1 でエラーがトリガーされないのはなぜですか?
dotnet/roslyn github リポジトリに提出された問題へのリンク。 https://github.com/dotnet/roslyn/issues/13314
ありがとうシア