ArcMap扩展9.3与10


10

我已经更新了ArcMap扩展以与ArcMap 10配合使用-主要是将引用从ESRI.ArcGIS.ADF更改为ESRI.ArcGIS.ADF.Local,并将“ Specific Version”属性的值设置为false,并使用新的ESRIRegAsm.exe进行注册。因此,我现在想知道是否可以构建一个可以同时适用于9.3.1和10.0的扩展程序,或者每个产品是否需要单独的二进制文件?


好问题。我的9.3类库之一(没有扩展名)没有问题。但是我确实必须对扩展做完全一样的事情,因为我在移到另一个名称空间的类上使用了不赞成使用的方法。
杰·康明斯

@solsberg,我知道该线程有些旧,但是您的调查结果如何?是扩展服务的单一构建还是9.3.1和10,还是最终需要两个构建?
elrobis 2012年

Answers:


2

据此,您必须重新编译:

在ArcGIS 10中,ESRI不再提供策略文件。因此,必须重新编译移植到ArcGIS 10的所有ArcGIS 9.3和早期开发项目。

http://help.arcgis.com/zh-CN/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//0001000002m2000000


对于像我这样的人来说,“什么是策略文件?” 我发现以下链接很有帮助。如果我正确理解这一点,则意味着9.x运行时将自动尝试通过以下一种运行时版本来转发ESRI命名空间中的活动(如有必要):resources.esri.com/help/9.3/arcgisengine/dotnet/…
elrobis 2012年

2

我还发现了一些细微的差异可能会带来负面影响。例如,将tagRECT结构移到另一个库中。这在您构建时不会引起问题,但会在运行时引起问题,因为RCW会尝试将调用转发到错误的COM库。

像这样的10.0库中可能还隐藏着其他东西,因此您必须小心。如果您不使用已移动的对象,则可能不会有问题,但这确实会带来一些风险。

最终,您可能需要根据具体情况进行使用。总的来说,我发现迁移过程非常轻松。


可以在此处找到接口添加(添加),重定位(移动)和删除(移除)的官方列表:help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/…– elrobis
2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.