GDAL C#版本 "安全透明方法"問題解決方案
阿新 • • 發佈:2018-12-29
之前寫過一篇關於再C#中呼叫GDAL庫出現OSGeo.GDAL.GdalPINVOKE”的型別初始值設定項引發異常的解決方案,部落格地址見下:
http://blog.csdn.net/liminlu0314/article/details/7506101
但是解決完該問題之後,還會出現下面的問題:
“安全透明方法“OSGeo.GDAL.Gdal.AllRegister()”嘗試通過方法“OSGeo.GDAL.GdalPINVOKE.AllRegister()”呼叫本機程式碼失敗。方法必須是安全關鍵的或安全可靠關鍵的”
要解決這個問題,需要在編譯GDAL的C#版本時,修改csharp目錄中的AssemblyInfo.cs檔案。具體修改如下:
// The AllowPartiallyTrustedCallersAttribute requires the assembly to be signed with a strong name key.
// This attribute is necessary since the control is called by either an intranet or Internet
// Web page that should be running under restricted permissions.
//[assembly: AllowPartiallyTrustedCallers] 註釋掉這一行
修改完成之後,重新生成C#的庫,即可。