Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
System.Xml.Linq、便携库和Silverlight_Xml_Silverlight_Silverlight 4.0_Silverlight 5.0_Portable Class Library - Fatal编程技术网

System.Xml.Linq、便携库和Silverlight

System.Xml.Linq、便携库和Silverlight,xml,silverlight,silverlight-4.0,silverlight-5.0,portable-class-library,Xml,Silverlight,Silverlight 4.0,Silverlight 5.0,Portable Class Library,我构建了一个引用System.Xml.Linq的可移植类库(profile47,其中包括Silverlight 5)。我可以从Silverlight 5应用程序中引用该可移植库,也可以在C:\Program Files(x86)\Microsoft SDK\Silverlight\v5.0\Libraries\Client中引用System.Xml.Linq的Silverlight版本。问题是System.Xml.Linq dll的版本号(5.0.5.0)与便携库引用的版本号不同,当我运行Sil

我构建了一个引用System.Xml.Linq的可移植类库(profile47,其中包括Silverlight 5)。我可以从Silverlight 5应用程序中引用该可移植库,也可以在C:\Program Files(x86)\Microsoft SDK\Silverlight\v5.0\Libraries\Client中引用System.Xml.Linq的Silverlight版本。问题是System.Xml.Linq dll的版本号(5.0.5.0)与便携库引用的版本号不同,当我运行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中没有像full.NET framework中那样的程序集重定向机制,有什么方法可以实现这一点吗?

从可移植类库中删除System.Xml.Linq引用。如果您的配置文件中有.Net framework 4.0.3,那么.Net可移植子集就足够了。

我认为您应该删除旧引用,并为System.link Version=5.0.5.0添加新引用。我无法在可移植库版本上引用Silverlight 5.0.5.0版本,只有4.0.0.0版本无法删除引用,因为我在便携库中使用了xml.linq是的,即使使用xml.linq,您也可以删除它。如果你得到编译错误,那是因为你的配置文件不允许它。配置文件允许它,但我确实得到编译时错误。我在Widows 8和Windows Phone应用程序上重复使用同一个便携库,只有silverlight抱怨不同版本的system.xml.linq汇编中的引用。你能从PCL中删除对system.xml.linq的引用并告诉我你遇到了什么编译错误吗?我仔细检查了,问题是我引用了另一个PCL,也是reference System.Xml.Linq,在我从所有PCL中删除它之后,我不再有编译时错误,如果我只在Silverlight程序集中引用System.Xml.Linq,它现在可以在运行时工作。谢谢