緣起
之前寫好的代碼突然編譯通不過,報錯命令esriregasm.exe XXX.dll /p:Engine /s 已退出,代碼爲-1
Bug原因
網上搜到的有的說是清空bin目錄,重新編譯就可以了,個人認爲並無卵用。報錯的字面意思就是註冊Engine許可失敗,歸根結底的原因是你沒有安裝ArcEngine產品,可能是之前是用ArcEngine寫的代碼,現在是用AO開發(即ArcGIS Desktop環境),就會遇到此類問題。
解決方案
有兩種解決方案
- 下載安裝ArcEngine開發環境,重新編譯。
- 使用文件編輯器(如notepad、notepad++)打開你的工程文件
*.csproj
,搜索esriRegasm.exe
,將下圖所示的內容中的Engine
換成Desktop
,保存重新編譯即可。