2016-02-16 23 views
1

我的程序在當前筆記本電腦(x64)上運行時沒有任何問題。但是當我嘗試在其他PC(x86)上運行它時,它會在啓動之前崩潰。我也嘗試更改平臺目標,如此答案中所述: XMLParseException occursXamlParseException和NoServiceException

我還捕獲了所有未處理的異常。它提供了我兩個例外:

enter image description here

我也得到了從可靠性的歷史:

Faulting application name: LoginDemo.exe, version: 1.0.0.0, time stamp: 0x56c19003 Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e2111c0 Exception code: 0xe0434352 Fault offset: 0x0000d36f Faulting process id: 0x4b0 Faulting application start time: 0x01d167cd96535e01 Faulting application path: C:\Users\hgservice\Desktop\Temp\LoginTool2\LoginDemo\bin\Release\LoginDemo.exe Faulting module path: C:\Windows\system32\KERNELBASE.dll Report Id: d6435b26-d3c0-11e5-b9a7-001999d6cbe5

我也看了,這個問題可能occure因爲PROGRAMM嘗試導入一個DLL同時運行,但我需要的所有DLL都在同一個文件夾中。正如我在筆記本電腦上說的那樣,它工作正常。有沒有人知道這個問題會是什麼?

+0

是否有任何其他dll需要運行時?你的筆記本電腦可能會有,但其他電腦不會有它。 –

+0

你的應用程序在做什麼?這個問題似乎與智能卡資源管理器有關......你是否在用智能卡做事情?檢查您的工作機器上運行哪些服務與非工作機器上運行的服務相比。 –

+0

XMLParseException或XAMLParseException?請編輯主題和正文以反映遇到的實際異常。 –

回答

1

這個問題與WPF沒有任何共同之處。如果我們分析堆棧跟蹤,我們可以看到它是由pcsc-sharp庫引發的。該更仔細的分析將表明,NoServiceException異常被拋出,因爲以下本地方法返回一個錯誤:

[DllImport(WINSCARD_DLL, CharSet = CharSet.Auto)] 
private static extern int SCardEstablishContext(...) 

更確切地說NoServiceException映射到SCARD_E_NO_SERVICE (0x8010001D)錯誤。這意味着您筆記本電腦上的SmartCard服務可能未運行。修復它:按Win + R,鍵入services.msc並啓動智能卡服務。

此問題也可能是由各種版本的Windows之間的差異造成的(詳情見question)。

此問題的另一個原因可能是缺少足夠的權限(請參閱this文章)。

+0

我試圖啓動智能卡服務,但發生錯誤。它說:Windows無法在本地計算機上啓動智能卡服務。錯誤1058:服務無法啓動,或者因爲它被禁用或者因爲它沒有啓用與其關聯的設備。 – L4c0573

+0

這是什麼意思? –

+0

但它未被禁用,NFC智能卡讀卡器已插入。我還爲此讀卡器安裝了所有驅動程序。它在設備管理器中顯示爲智能卡閱讀器 – L4c0573

0

好的夥計我修好了。正如MichałKomorowski和Jon Skeet已經回答的那樣,問題在於Smard Card服務未運行。 MichałKomorowski的回答幾乎是正確的。我唯一需要做的就是將啓動類型設置爲「手動」。之後,我可以啓動智能卡服務,現在一切正常。

enter image description here

相關問題