我在使用地稅發票控件進行開票的測試的時候,在xp上測試時正常的,在別人的win7系統測試也是正常,但我在我本機確不正常。我本機裝的是msdn版本win7系統,這個系統比較原裝。
錯誤信息如下:
2012-07-21 06:30:08,546 [1] ERROR - ThreadException caught System.DllNotFoundException: 無法加載 DLL“GdltaxIA.dll”: 內存位置訪問無效。 (異常來自 HRESULT:0x800703E6)。 在 SkyMap.Net.ZSTax.Commands.FPOnlineHelper.ZKHelper.SetFpzxServerURL(String AURL)
解決辦法是:
由於Windows 7系統都默認開啟DEP防護功能,所以算法調用DLL時報出以下錯誤: “System.DllNotFoundException:無法加載DLL “HSFileED.dll”:內存位置訪問無效。(異常來自HRESULT:0x800703E6)。” 解決的方法是關閉DEP防護功能
關閉方法:
打開“計算機-屬性-高級系統設置”中的“高級”選項卡,點擊“性能”下面的“設置”按鈕,切換到“數據執行保護”選項,勾選“為除下列選定程序之外的所有程序和服務啟用”,最后點擊“添加”按鈕找到並添加中文執行程序。(確認中)
非常重要(windows7直接進行這一步就可以了):從“開始”-“所有程序”-“附件”中找到“命令提示符”,右鍵選擇“以管理員身份運行”,輸入“bcdedit.exe/set {current} nx AlwaysOff”(不包含引號),回車,出現“操作成功完成”,
然后重啟計算機,這樣便徹底關閉了DEP,若日后想要重新開啟DEP,在命令提示符中輸入“bcdedit /set {default} nx Optin”,回車並重啟計算機即可。
Tips:不要輸入“bcdedit.exe/set {current} nx AlwaysOn”,因為這條命令是對所有程序開啟DEP,會造成許多程序無法運行。