2010-04-27 45 views
3

我完全與以下錯誤混淆。在一個解決方案中的第二個WPF項目給出log4Net錯誤

我有我的應用程序,它工作得很好,並使用log4net進行日誌記錄。

我現在將實現我自己的更新系統。我希望它成爲我解決方案的一部分。

我添加了一個新的WPF應用到我的解決方案,當我嘗試編輯主窗口或在該項目中,我得到了以下錯誤消息的任何其他窗口:

/Microsoft.VisualStudio.Xaml;Component/MS/Internal/Designer/PropertyEditing/Resources/StylesCore.Constants.xaml' value cannot be assigned to property 'Source' of object 'System.Windows.ResourceDictionary'. 
Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. 
The system cannot find the file specified. Error at object 'ResourceDictionary_2' in markup file 'Microsoft.VisualStudio.Xaml;component/MS/Internal/Designer/PropertyEditing/Resources/StylesCore.xaml. 

任何人有什麼建議?

編輯:設計師工作時,我在新項目中引用log4net.dll,但爲什麼我需要在每個項目中引用它?

+0

您的新項目是否需要引用log4net程序集? – 2010-04-27 13:29:43

+0

我引用它,它的工作原理,但我不明白爲什麼它需要對Log4Net的引用,當我沒有在這個項目的任何地方使用它... – 2010-04-27 15:13:29

+0

項目運行完美,沒有困難,它只有Visual Studio Designer打破... – 2010-04-27 15:14:09

回答

1

如果您未在新項目中使用log4net庫,只需編輯ResourceDictionary並刪除對log4net庫的引用即可。這聽起來像是您爲兩個WPF項目使用一個庫,並且該庫有一些對log4net的引用。這就是交叉似乎來自的地方。

2

我不確定爲什麼發生這種情況,但是將「WPF項目的TargetFramework」從「.NET Framework 4 Client Profile」(這是VS2010 WPF項目模板中的默認值)修改爲「.NET Framework 4」對我來說同樣的問題。我想這是因爲Log4Net DLL的dll簽名(強命名)。

相關問題