对 ESRI 引用使用 Copy Local?
Using Copy Local for ESRI References?
我最近更新到 ArcGIS 10.4,我必须更新一些为 ArcGIS 10.2 编写的代码。代码在 10.2 机器上必须是 运行,所以我想如果我将所有 ESRI 引用 'Copy Local' 它会在 10.2 机器上 运行(10.4 编译)。
我可以在设置了“复制本地”的 10.2 机器上使用 10.4 代码吗?
不,你不能
不幸的是,ArcObjects 仅向前兼容(不向后兼容)。
您可以在“新版本 ArcGIS 的兼容性”下的 Documentation 中找到它。
针对以前版本的 ArcGIS 的加载项将自动加载到较新的版本中,无需重建或重新安装它们。例如,ArcGIS 10.4 会自动从 10.3 知名文件夹位置发现并加载加载项。加载项不向后兼容;例如,针对 ArcGIS 10.4 的加载项将不会在 10.3 中加载。
可以开发目标 10.2 并在 10.4 中使用您的代码。
然而,ESRI SDK 版本之间的细微变化可能会导致难以发现问题。 (例如,连接表上的字段名称在某些版本的 SDK 之间是不同的)
当我需要支持多个版本时,我会针对最低版本进行编译,并在具有较新版本(远程调试器)的虚拟机上进行测试。
这可能不是您要找的答案,但我希望它能帮助您解决问题。
我最近更新到 ArcGIS 10.4,我必须更新一些为 ArcGIS 10.2 编写的代码。代码在 10.2 机器上必须是 运行,所以我想如果我将所有 ESRI 引用 'Copy Local' 它会在 10.2 机器上 运行(10.4 编译)。
我可以在设置了“复制本地”的 10.2 机器上使用 10.4 代码吗?
不,你不能 不幸的是,ArcObjects 仅向前兼容(不向后兼容)。
您可以在“新版本 ArcGIS 的兼容性”下的 Documentation 中找到它。
针对以前版本的 ArcGIS 的加载项将自动加载到较新的版本中,无需重建或重新安装它们。例如,ArcGIS 10.4 会自动从 10.3 知名文件夹位置发现并加载加载项。加载项不向后兼容;例如,针对 ArcGIS 10.4 的加载项将不会在 10.3 中加载。
可以开发目标 10.2 并在 10.4 中使用您的代码。 然而,ESRI SDK 版本之间的细微变化可能会导致难以发现问题。 (例如,连接表上的字段名称在某些版本的 SDK 之间是不同的)
当我需要支持多个版本时,我会针对最低版本进行编译,并在具有较新版本(远程调试器)的虚拟机上进行测试。
这可能不是您要找的答案,但我希望它能帮助您解决问题。