6

C# で arcmap のアドイン アプリケーションを作成し、File Geodatabase に接続しようとしました。そのため、実行しようとすると、次のエラーが発生しました。

Error 1 Interop type 'ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass' cannot be embedded. Use the applicable interface instead.  

次に、アドインのパス

以前にこのエラーを見たことがなく、何が問題なのか疑問に思っていました。

これは、すべてのメインコードです。

 public IWorkspace FileGdbWorkspaceFromPropertySet(string database)
    {
        IPropertySet propertySet = new PropertySetClass();
        propertySet.SetProperty("DATABASE", database);
        IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactoryClass();
        return workspaceFactory.Open(propertySet, 0);
    }

したがって、エラーは次の行にあります。

IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactoryClass();

誰かがこのエラーの説明と、私の場合の可能な修正を提供してくれることを願っています。

何がうまくいかないのですか?

4

2 に答える 2

2

ESRI dll がアセンブリに埋め込まれているようです。Visual Studio で作業していると仮定すると、参照されている dll を選択し、そのプロパティで [Embed Interop Types] を False に設定します。

これにより、アセンブリの隣に配置する必要がある DLL の相互運用ファイルが作成されることに注意してください。

于 2013-12-12T13:01:13.160 に答える