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

posted @   marvelousone  阅读(523)  评论(0编辑  收藏  举报

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。 

解决:

删除那一行的代码

 

编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

先送你一个公交红包啦~