2009-08-26 46 views
1

我有一個關於包裝符號的問題。WPF中的包裝表示法

我想從另一個資源組件中訪問XAML頁面內的PNG圖像文件。

比方說資源大會(這是當地組裝,我的XAML文件是在外面),是ResourceAssembly.Common.Resources 和我的形象是ResourceAssembly.Common.Resources/Images/image.png

我的包符號如下所示:

<Image Source="pack://application:,,,/ResourceAssembly.Common.Resources;component/Images/image.png" /> 

現在,我檢查了這一點,並檢查了一遍,檢查MSDN庫,檢查博客和一切,因爲據我所知,這是正確的。我不確定爲什麼我的圖片不顯示或問題是什麼。

我得到的錯誤是: 「Error 633 Could not load file or assembly 'ResourceAssembly.Common.Resources, Culture=neutral' or one of its dependencies. The system cannot find the file specified.

我想象我失去了沿着這些線路爲總是我的問題,一些簡單的關鍵字或一些簡單的語法錯誤,或東西,但任何援助將是無價的。

謝謝! Anuj

回答

5

我開始使用包裝符號時遇到了類似問題,但現在我不記得具體問題了。你的包符號看起來與我什麼,所以我會覈實每一部分,並確保它是正確的:

  1. 是否爲您的資源組裝AssemblyInfo.cs中恰好包含:[assembly: AssemblyTitle("ResourceAssembly.Common.Resources")]? (只要確保ResourceAssembly.Common.Resources是實際裝配名稱,而不是項目名稱或命名空間。)

  2. 客戶項目是否參考了ResourceAssembly.Common.Resources裝配或項目?

  3. GDS中是否有安裝ResourceAssembly.Common.Resources的副本? (如果它存在於本地和GAC中,則可能導致短名稱衝突。)

  4. 「Images」文件夾是ResourceAssembly.Common.Resources項目的直接子項嗎? (聽起來是這樣,但只是確認。)

  5. image.png的Build Action屬性是否設置爲Resource? (它應該是默認設置,但你永遠不知道。)

  6. 請問ResourceAssembly.Common.Resources是否引用了客戶端項目中未包含的任何程序集? (包的URI在XAML不能在編譯時IIRC,這意味着傳遞依賴將不被納入該項目解決了。)

如果不是其中的一件事情則是超越我。 :)

+0

感謝AndyM,你的清單是非常有用的,儘管不是我的問題的解決方案。 很多我的不滿,我承認,經過仔細檢查,我發現了一個非常小的錯字...呃,是啊... 感謝您的幫助,無論如何,它現在工作。:) – AnujSuper9 2009-08-26 20:37:58

+0

很高興你能工作;我知道讓他們得到正確的加重。 – AndyM 2009-08-26 20:46:20