1

我構建了一個引用System.Xml.Linq的可移植類庫(profile47,其中包含Silverlight 5)。我可以從我的Silverlight 5應用程序中引用該便攜式庫,並且可以在C:\ Program Files(x86)\ Microsoft SDKs \ Silverlight \ v5.0 \ Libraries \ Client中引用System.Xml.Linq的Silverlight版本。問題是,這System.Xml.Linq的DLL比一個便攜式庫中引用一個不同的版本號(5.0.5.0),當我運行Silverlight應用程序,它拋出一個異常:System.Xml.Linq,Portable Libraries和Silverlight

Could not load file or assembly 'System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified. 

由於app.config中沒有像完整.NET框架中的程序集重定向機制,是否有任何方法可以使這項工作成爲可能?

+1

我認爲你應該刪除舊引用併爲System.link版本添加新引用版本= 5.0.5.0 –

+0

我無法在便攜庫版本上引用Silverlight 5.0.5.0版本,只有4.0.0.0版本 –

回答

2

從便攜式類庫中移除System.Xml.Linq引用。如果您的配置文件中包含.net framework 4.0.3,那麼.Net Portable Subset就足夠了。

+0

我可以不要刪除引用,因爲我在便攜庫中使用xml.linq –

+0

是的,即使使用Xml.Linq,也可以將其刪除。如果您收到編譯錯誤,那是因爲您的配置文件不允許它。 – pauldendulk

+0

該配置文件允許它,但我確實得到編譯時錯誤。我在Widows 8和Windows Phone應用程序上重複使用相同的便攜式庫,僅從silverlight投訴中引用關於不同版本的system.xml.linq程序集 –