2009-11-03 56 views
0

更新:我嘗試使用fuslogvw.exe來獲取日誌。但是我究竟在尋找什麼?可悲的是,日誌是丹麥語,這是非常惱人的(顯然有人認爲將文字翻譯成丹麥語內錯誤日誌消息將是一個好主意,但它基本上使谷歌無用:我不得不猜測原始的英文文本得到好的命中,grrrr)。我認爲翻譯應該像這樣: 「LOG:開始綁定原始圖像System.Windows.Forms.resources,Version = 2.0.0.0,Culture = da-DK,PublicKeyToken = b77a5c561934e089。 警告:沒有匹配的原始圖像發現」。Windows Forms應用程序,啓動時的例外:無法加載System.Xml

我對這些日誌很陌生,所以建議仍然很快。

我有一個Windows窗體應用程序,它存儲使用Properties.Settings設置... 我最近下載並安裝了另一個.Net應用程序。現在突然間我的Windows窗體應用程序在啓動時立即拋出異常(我嘗試加載設置)。錯誤表示「文件或程序集System.Xml,Version = 2.0.0.0,PublicKeyToken = b77a5c561934e089或其某個依賴項無法加載,該模塊應包含一個assemblymanifest」。

由於Windows \ assembly文件夾包含帶有正確版本和公共密鑰的System.Xml,因此我不知道在哪裏查找此錯誤的原因。

建議是非常受歡迎的,尤其是參考.Net文檔我應該詳細閱讀,因爲我覺得這是我的.Net知識中的一個很大的差距。

謝謝!

回答

2

這部分是猜測,但值得一試。

看看你的app.config文件。查找引用System.XML的任何配置。如果找到任何內容,請嘗試從綁定中刪除版本號。我遇到了與企業庫的多個版本類似的問題。

如果這沒有幫助,您可以使用程序集綁定日誌查看器(fuslogvw.exe)獲取有關綁定失敗的更多信息。您必須啓動它並啓用所有綁定的日誌記錄(如果您願意,也可以只是失敗),然後確保清除日誌,運行應用程序,刷新並查看綁定日誌以查看System.XML失敗。這將爲您提供有關運行時正在查找程序集的信息,以及綁定失敗的原因。

+0

下面是應用程序.config文件的一個片段。如果我理解正確,我應該刪除Version = 2.0.0.0部分?

2009-11-03 09:32:03

+0

編號保留所有這些,到System.XML程序集。我建議你嘗試使用fuslogvw。 – 2009-11-03 09:46:50

0

確保.NET 2.0安裝在您的計算機上(如果只安裝了.NET 3.0,這是不夠的)。您能否提供關於您的原始應用程序的編譯版本的更多信息?讓我知道它是否有幫助

+0

我安裝了.NET 2.0,3.0,3.5 SP1。我如何檢查這些「條件」? 另外,如何檢查我的應用程序編譯的版本?該信息是否嵌入二進制.exe中? – 2009-11-03 09:33:57

+0

要檢查您的計算機上是否安裝了.NET 2.0,請從命令行運行以下命令: dir%WINDIR%\ Microsoft.NET \ Framework \ v2.0.50727 要檢查您的應用程序編譯了什麼.NET Framework檢查項目 - >屬性 - >應用程序 - >目標框架 要檢查現有的可執行文件或程序集,請在Reflector中打開它,並檢查引用的mscorlib.dll的版本。這是框架的版本。 – 2009-11-03 10:32:07

相關問題