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

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。 

解决:

删除那一行的代码

 

posted @ 2017-12-04 16:19  marvelousone  阅读(513)  评论(0编辑  收藏  举报