簡體   English   中英

在運行時找不到C#程序集

[英]C# Assembly not found at runtime

我在新電腦上的XNA項目開始出現一個奇怪的錯誤。 我在解決方案上有兩個項目,並且兩個人都在使用一個庫。 其中一個項目XNA Game Project可以完美運行。 另一個項目是WindowsForm和XNA的混合。 單擊按鈕時,該窗體啟動XNA類。 當我運行該程序時,在單擊啟動XNA類的按鈕之前,它一直有效。 恰好在執行構造函數的那一刻將觸發FileNotFoundException。

System.IO.FileNotFoundException was unhandled   Message="Could not load file or assembly 'Microsoft.Xna.Framework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d' or one of its dependencies. The system cannot find the path specified."

參考是正確的,編譯沒有問題。 我們已經嘗試刪除引用,然后再次添加它,但是它不起作用。 在其他隊友的電腦上,一切正常。

任何人都知道是什么問題嗎?

檢查您的配置文件以獲取對此dll的引用。 最有可能是通過反射加載的類型。 我在Ent Lib中看到了這些類型的錯誤。

如果此文件位於隊友計算機上的GAC中,或者您具有其他配置文件,則不會顯示此錯誤。

HTH

布賴恩

您可以嘗試使用平台sdk上的depends.exe來調查缺少的依賴項。 我假設您已手動驗證文件在正確的文件夾中?

另外, x64上的此dll顯然存在問題

嗨,古斯塔沃,聽起來你很久以前就這樣:

http://blogs.msdn.com/b/shawnhar/archive/2008/02/25/xna-framework-on-64-bit-windows.aspx

聽起來好像CLR試圖尋找64位版本的XNA,但沒有,這就是為什么XNA Project可以創建一個新項目的原因,因為默認情況下默認為32位。

只需將其留在此處以供參考,也請先關閉此問題,然后選擇答案。 :3

我通過一種解決方法解決了這個問題:

我創建一個新的XNA項目並將所有內容移動到那里,然后將引用添加到WindowsForm。 裝配問題不再發生了!

感謝您的所有幫助。

您可以使用fuslogvw或提到的任何其他方式來找到根本原因。 您還可以捕獲AssemblyResolve事件,並在FromNeither上下文中手動加載程序集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM