ArcGIS Pro SDK (六)CoreHost

核心主机

环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0

1 初始化核心主机

csharp 复制代码
using ArcGIS.Core.Data;
//必须引用ArcGIS.CoreHost.dll
using ArcGIS.Core.Hosting;

class Program {
    //[STAThread] 必须出现在应用程序入口点上
    [STAThread]
    static void Main(string[] args) 
    {
        //必须在构造任何 ArcGIS.Core 对象之前调用 Host.Initialize 
        try {
            Host.Initialize();
        }
        catch (Exception e) {
            //错误(缺少安装、没有许可证、64位不匹配等)
            Console.WriteLine(string.Format("Initialization failed: {0}",e.Message));
            return;
        }

        //执行到这,ArcGIS.Core已经初始化成功
        Geodatabase gdb = new Geodatabase(new FileGeodatabaseConnectionPath(new Uri(@"C:\Data\SDK\GDB\MySampleData.gdb")));
        IReadOnlyList<TableDefinition> definitions = gdb.GetDefinitions<FeatureClassDefinition>();

        foreach (var fdsDef in definitions) {
            Console.WriteLine(TableString(fdsDef as TableDefinition));
        }
        Console.Read();
    }

    private static string TableString(TableDefinition table) 
    {
        string alias = table.GetAliasName();
        string name = table.GetName();
        return string.Format("{0} ({1})", alias.Length > 0 ? alias : name, name);
    }
}
相关推荐
码农学院13 小时前
itextsharp .net中如何设置两个表格的间距设为0,取网站的域名,协议、端口、当前站点目录的地址
开发语言·c#·.net
GISer_Jing14 小时前
GIS论述-6大核心技术方向全解
数据库·arcgis·ai
monkeyhlj14 小时前
Agent Skills简单理解
开发语言·c#
GISer_Jing15 小时前
GIS论述-6大核心技术方向全解II
学习·考研·arcgis
布朗克16815 小时前
Claude Code 进阶玩法:MCP集成、自定义配置与团队协作
arcgis·claude code
星河耀银海15 小时前
Unity C#入门:变量的定义与访问权限(public/private)
unity·c#·lucene
asdzx6715 小时前
使用 C# 添加或读取 Excel 公式:完整指南
开发语言·c#·excel
加号315 小时前
【C#】 中 BCD 字节数组转十进制字符串的原理与实现思路
开发语言·c#
周杰伦fans15 小时前
C# 从 List 中移除另一个集合
windows·c#
大空大地202615 小时前
C#进阶语法**总结
c#