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);
    }
}
相关推荐
xiaoshuaishuai81 小时前
C# Codex 脚本编写
java·服务器·数据库·c#
GIS地信小匠1 小时前
(31)ArcGIS Pro 定义投影与批量投影:矢量数据坐标转换工具实操
arcgis·空间分析·数据处理·gis教程·arcgls pro
weixin_447443253 小时前
AI启蒙Lean4
python·c#
我是唐青枫7 小时前
C#.NET ValueTaskSource 深入解析:零分配异步、ManualResetValueTaskSourceCore 与使用边界
c#·.net
iCxhust7 小时前
C#程序,窗体1向窗体2的textbox控件写入字符串“hello”
开发语言·c#
iCxhust8 小时前
C#如何实现textbox文本多行输出 且自动换行输出
开发语言·c#
政沅同学10 小时前
C# 一种很好用的设计模式 不同对象之间进行解耦通信
设计模式·c#
GISBox11 小时前
三大维度焕新!GISBox2.2.0新增三维重建模块与性能优化
gis·三维重建·gisbox·rvt·服务数据缓存·ktx2·win7系统
咩图12 小时前
C#进程通讯-命名管道通讯
c#·命名管道·进程通讯
SunnyDays101112 小时前
如何使用 C# 高效实现 Excel 与 CSV 的互相转换
c#·excel·csv