Ho creato un'applicazione aggiuntiva per arcmap in C# e ho provato a connettermi con il mio file Geodatabase. Così, quando ho provato a farlo funzionare ho ottenuto questo errore:"ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass" non può essere incorporato
Error 1 Interop type 'ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass' cannot be embedded. Use the applicable interface instead.
e quindi il percorso del componente aggiuntivo in
Non ho mai visto questo errore prima e mi chiedevo che cosa sta andando male.
Questo è il codice principale è tutta una questione:
public IWorkspace FileGdbWorkspaceFromPropertySet(string database)
{
IPropertySet propertySet = new PropertySetClass();
propertySet.SetProperty("DATABASE", database);
IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactoryClass();
return workspaceFactory.Open(propertySet, 0);
}
Quindi l'errore è in questa linea:
IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactoryClass();
Spero che qualcuno mi può fornire una spiegazione di questo errore e anche una possibile risolvere nel mio caso.
Cosa non va?
Provare a sostituire 'FileGDBWorkspaceFactoryClass' con' FileGDBWorkspaceFactory'. Immagino che ci fossero tali domande, http://stackoverflow.com/questions/2483659/interop-type-cannot-be-embedded, http://stackoverflow.com/questions/4219605/class-cannot-be-embedded-use -l'interfaccia-applicabile-invece –
@johny questo lo ha risolto per me. Se potessi fornire questa risposta come risposta, mi piacerebbe accettarla. – Loko