2013-02-12 91 views
3

當我有一個使用一些本地庫(the PJSIP library)在Windows運行時組件。該組件在Windows Phone 8的應用程序使用,當我嘗試從本機組件我收到以下錯誤調用一個函數:在mscorlib程序System.IO.FileNotFoundException錯誤運行Windows Phone 8的應用程序

An exception of type 'System.IO.FileNotFoundException' occurred in TestingApp.DLL but was not handled in user code 

與來源(在異常詳細信息)。

任何人都可以指出什麼可能會造成這個錯誤,我怎麼能找出什麼是真正缺少什麼?當我嘗試在Windows運行時組件中放置一個斷點時,在運行時,斷點顯示爲禁用。

問候, 塔馬斯

+0

你有沒有解決這個問題? – baruch 2013-12-30 09:21:10

+0

沒有。在我工作的時候,PJSIP庫不能用於Windows Phone 8設備。我不知道現在如何支持 – 2014-01-04 00:06:16

回答

0

添加缺少的dll到項目(如添加一個新的文件),並將其標記爲內容。然後從這個位置引用dll。這可能會解決您的問題。

我想它不工作,因爲它沒有被部署在你的應用程序中。

+0

問題是,我不知道什麼是缺少的。 TestingApp.DLL是我的Windows Phone 8應用程序。我已將PJSIPCore.dll(這是我的Windows運行時組件)添加到應用程序並標記爲內容,但在運行時仍然會出現相同的錯誤。 – 2013-02-12 13:48:29

+0

你需要找到PJSIP引用的dll。 – daryal 2013-02-12 14:00:38

+0

我添加了我的PJSIP WinRT組件在我的主應用程序中引用的「內容」的所有dll,但仍然出現相同的錯誤。 – 2013-02-12 14:10:35

0

在Visual Studio中的調試菜單下選擇「例外」,然後在出現使對話「時拋出」「公共語言運行時異常」

然後重新運行應用程序時,Visual Studio應該休息一下導致Null異常的代碼中的行。

+0

我沒有得到一個空例外。我得到一個System.IO.FileNotFoundException錯誤。當我希望從WP8 App創建一個在我的Win RT組件(調用其他本地庫)中定義的對象時,我的代碼會中斷。我已經添加了另一個簡單的WinRT組件,並且可以正常工作。我的猜測是WinRT以某種方式調用了其他未找到的本機庫,並且此錯誤在我的WP8應用程序中以某種方式傳播。我不能在我需要的類的構造函數中將一個斷點放入我的「麻煩」WinRT中。 – 2013-02-12 14:04:49

+0

您可以將您的WinRT組件重新制作爲便攜式課程嗎? – John 2013-02-12 19:07:37

+0

我該怎麼做?它將如何幫助? – 2013-02-13 11:52:38

0

如果您引用了本機庫,請仔細檢查是否還引用了C++運行時。在解決方案資源管理器中的項目下,右鍵單擊引用>添加引用...轉到擴展並檢查Visual C++運行時包。

0

檢查鏈接的庫文件,它應該是DLL文件的導入庫。

導入庫(.LIB)文件中包含的信息linker需要解析導出的DLL函數的外部引用,使得系統可以定位在運行時指定的DLL和導出的DLL函數。

當應用程序啓動它根據導入庫找到DLL文件,但沒有這樣的DLL文件,所以C#拋出一個FileNotFoundException異常。確保鏈接到一個靜態庫

相關問題