2012-03-04 13 views
0

我使用棱鏡和新的控制,我在CodePlex上找到:WPF屬性網格無法加載文件或程序集「WPG,公鑰=空」或它的一個依賴

http://wpg.codeplex.com/

雖然我正在測試DEMO,並且進展順利。

我還沒有開始使用PRISM。如果我把控制權交給殼牌公司,那也可以。問題是如果我把控件放在模塊中,會引發錯誤。

無法加載文件或程序集「WPG,PublicKeyToken = null」或其相關性 之一。該系統找不到指定的文件。

我真的不知道那個錯誤。有沒有人有一個想法如何解決它?

enter image description here

編輯:

<UserControl x:Class="ConfigurationManagerModule.Views.ConfigurationView" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:prism="http://www.codeplex.com/prism" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:wpg="clr-namespace:WPG;assembly=WPG" 
    > 

而這個用戶控制是一個模塊

+0

您可以向我們展示引用WPG程序集的'xmlns:'行,並且可以告訴我們它發現自己在哪個xaml文件中? – Dabblernl 2012-03-04 07:29:02

+0

使用fuslogvw.exe解決程序集解析問題。 – 2012-03-04 17:31:02

回答

3

確保您的參考設置正確。當項目B在XAML中使用程序集(如WPG)時,發生此問題,但項目A實際創建了項目B類的實例。將WPG引用添加到項目A是XAML解析器以這種方式工作所必需的。在項目A中引用項目B是不夠的。

0

的一部分這是一個相當普遍的誤差,並且最通常通過元件的動態結構引起的。雖然您可能已經添加了對WPG程序集的引用,但也必須實現其所有依賴關係。

  • 請嘗試查看WPG軟件包的源代碼,並查看是否有任何引用不會出現在您的輸出位置。
  • 使用像ILSpy這樣的工具可以幫助您檢查內部依賴關係。
1

我在使用Visual Studio 2010,SP1和Team Server時遇到同樣的問題。最簡單的解決方案是:

  1. 在你的項目/解決方案(Say ProjB)中添加引用(比如說ProjA.dll) - 凡是需要的。
  2. 如果您發現與在ProjB中找不到的方法有關的其他錯誤(與ProjA.dll相關),請轉至ProjA,在解決方案資源管理器中打開它,使用「添加現有項目」添加其中的所有項目。清理並生成ProjA.dll,再次引用ProjB中的正確DLL。它應該工作!

有時,即使項目在源代碼管理中,並且您可以看到它們,對它們進行處理,並簽入/簽出;可以看到這種間歇性問題。

相關問題