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)
我希望有人可以向我提供这个错误的解释,也可以解决我的问题.
出了什么问题?
您可以尝试去掉Class后缀。代替
IWorkspaceFactoryworkspaceFactory = new FileGDBWorkspaceFactoryClass();
和
IWorkspaceFactoryworkspaceFactory = new FileGDBWorkspaceFactory();
这里/sf/answers/67126671/ Michael Petrotta 的回答解释了原因。
这里有类似的答案:互操作类型不能嵌入,类不能嵌入。请改用适用的接口。