缘起
之前写好的代码突然编译通不过,报错命令esriregasm.exe XXX.dll /p:Engine /s 已退出,代码为-1
Bug原因
网上搜到的有的说是清空bin目录,重新编译就可以了,个人认为并无卵用。报错的字面意思就是注册Engine许可失败,归根结底的原因是你没有安装ArcEngine产品,可能是之前是用ArcEngine写的代码,现在是用AO开发(即ArcGIS Desktop环境),就会遇到此类问题。
解决方案
有两种解决方案
- 下载安装ArcEngine开发环境,重新编译。
- 使用文件编辑器(如notepad、notepad++)打开你的工程文件
*.csproj
,搜索esriRegasm.exe
,将下图所示的内容中的Engine
换成Desktop
,保存重新编译即可。