无法嵌入"ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass"

Lok*_*oko 6 c# arcobjects esri arcgis

我在C#中添加了arcmap的应用程序,我尝试连接我的文件地理数据库.所以当我试图运行它时,我收到了这个错误:

Error 1 Interop type 'ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass' cannot be embedded. Use the applicable interface instead.  
Run Code Online (Sandbox Code Playgroud)

然后是添加的路径

我之前从未见过这个错误,我想知道出了什么问题.

这是它的主要代码:

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

所以错误在这一行:

IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactoryClass();
Run Code Online (Sandbox Code Playgroud)

我希望有人可以向我提供这个错误的解释,也可以解决我的问题.

出了什么问题?

Evg*_*nko 0

您可以尝试去掉Class后缀。代替

IWorkspaceFactoryworkspaceFactory = new FileGDBWorkspaceFactoryClass();

IWorkspaceFactoryworkspaceFactory = new FileGDBWorkspaceFactory();

这里/sf/answers/67126671/ Michael Petrotta 的回答解释了原因。

这里有类似的答案:互操作类型不能嵌入类不能嵌入。请改用适用的接口