AEDeveloperKit10.2\samples下示例代码运行常见错误

本文针对VS2012与ArcMap10.2环境下进行插件开发时遇到的常见问题进行了汇总与解答,包括因开发工具版本过高导致的代码错误、缺少必要的targets文件、缺少main方法等问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

samples下代码报错,常见原因应该是使用开发工具版本过高和工程路径修改之类的原因。以下问题是使用了VS2012&ArcMap10.2

 

报错1:

错误 1 未能从程序集 ESRI.ArcGIS.AddIns.SDK, Version=10.2.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86 加载任务“ValidateAddInXMLTask”。Could not load file or assembly 'Microsoft.VisualStudio.Shell.9.0, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 系统找不到指定的文件。 请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 AlgorithmicColorRamp

解决

以前根据一篇博客解决过这个问题,后来时间久了又忘了。再次加深下印象。


bug起源:

C:\Program Files (x86)\MSBuild\Esri目录下分别有两套addins和server的targets,而我们用VS模板生成的SOE项目,项目文件XXX.csproj默认采用的是:



解决方法:

修改项目文件XXX.csproj

  <Import Project="$(MSBuildExtensionsPath)\ESRI\ESRI.ArcGIS.AddIns.Server.11.targets" Condition="Exists('$(MSBuildExtensionsPath)\ESRI\ESRI.ArcGIS.AddIns.Server.11.targets')" />

保存重新加载,重新生成就OK了

原文链接【原文1】【原文2

有时候也有可能是没有targets,直接注释带targets的那行代码就OK。 

 

 

报错2:

不包含适合于入口点的静态“Main”方法

解决:

缺少main方法。可能是一个AddIn插件,调试方法见【传送门】。

 

报错3:

 The assembly {0} contains no classes marked with the ServerObjectExtension attribute. Empty AddIn will not be generated.

解决

程序集没有包含SOE(ServerObjectExtension)文件,空的插件不会被生成。需要重新改了proj文件。

 <Import Project="$(MSBuildExtensionsPath)\ESRI\ESRI.ArcGIS.AddIns.11.targets" Condition="Exists('$(MSBuildExtensionsPath)\ESRI\ESRI.ArcGIS.AddIns.11.targets')" />

解决这个问题应该就能生成esriAddIn文件了。[详情]

 

报错4:

: error  : 未能加载项目文件。“<”(十六进制值 0x3C)是无效的特性字符。第 147 行,位置 3。 

解决:

删除那一行的代码

 

转载于:https://www.cnblogs.com/marvelousone/p/7977620.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值