2013-10-22 26 views
1

從XAML中,我嘗試從Window控件設置圖標。設置位於與XAML不同的組件中的Windows圖標

.ico文件位於一個不同的組件(沒有子文件夾)。我可以得到這個工作,當我只是將文件添加到此程序集,但我的目標是使此工作只有原始的.ico文件,並讓它留在它的位置。

我曾嘗試:

圖標= 「包://應用:,,,/ReferencedAssembly;組件/ IconFile.ico」 以及圖標= 「/ ReferencedAssembly;組件/ IconFile.ico」

即使沒有討厭藍色的波浪線,當我嘗試運行我得到的錯誤:「拋出一個異常‘

System.Windows.Baml2006.TypeConverterMarkupExtension’上提供價值」與一個InnerException「無法加載文件或程序集.....系統找不到指定的文件。」

Win7的,.NET 4

這似乎應該是很簡單的,但我難倒。提前致謝。

+1

此問題更加具體到加載您在xaml中引用的程序集。可能該程序集與您正在使用的應用程序不在同一位置。啓動VS cmd提示符並運行FUSLOGVW.exe。轉到設置,啓用CustomLogPath並提供需要生成日誌的文件夾,選擇「將所有失敗綁定到磁盤」選項。現在運行您的應用程序。轉到您在Fuslogvw.exe中配置的路徑,您將找到帶有應用程序名稱的文件夾名稱。檢查其中的HTML文件,以瞭解更多關於錯誤 – srsyogesh

+0

謝謝。這當然幫助我明確了這個問題 - 我現在明白了。 :) –

回答

0

感謝srsyogesh幫助獲得一些額外的錯誤信息。

我注意到它最初沒有下載程序集,而這是我的一個愚蠢的錯誤,因爲我沒有注意到那個引用完全沒有。

在修復之後,後面跟着一個「ERR:無法完成程序集的設置(hr = 0x8007000b)。探測終止」,內部例外情況是「試圖加載程序時出現錯誤格式」。這顯然是由構建設置中的「x86」與「任意CPU」平臺目標衝突引起的。將「Any CPU」改爲「x86」,瞧。

+0

這樣做的另一種方法(如果你只需要一個單獨的文件),是完全跳過引用,並將所有文件作爲鏈接到程序集。 –

相關問題