3
  • 構成 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

ありがとうシア

4

1 に答える 1