2016-01-25 57 views
0

我有一個與.Net 4.5和Xamarin.Android目標的PCL。爲什麼我的PCL中不支持System.Xml.Xsl,即使所有的目標都支持這種類型?

在.Net 4.5中存在System.Xml.Xsl,並且在Xamarion.Android中也存在。

那麼,爲什麼我會在針對這兩個框架的PCL項目中獲得例外?

+0

您是否針對任何其他框架? – user9993

+0

當我定位.Net4.5和Xamarin.Android時,它會自動添加Silverlight5和Xamarin.iOs以及Xamarin.iOs(Classic),因爲它們支持相同的便攜式API集。 – rudimenter

回答

1

支持PCL中的每個功能需要專門添加到PCL配置文件中。它不會自動發生。並非每個選定平臺的子集均以PCL配置文件形式存在。您檢查了您感興趣的平臺,然後Visual Studio選擇其中一個兼容的配置文件。在這種情況下,包含Silverlight和iOS的配置文件。

我不確定是否有支持System.Xml.Xsl的PCL配置文件。

另一種方法是使用共享項目。在這種情況下,您實際上僅限於參考應用程序允許的子集。這是許多用戶對PCL的期望。如果您在'Cross-Platform'下創建Xamarin的模板'Blank App(Native Shared)'並刪除WinPhone項目(不支持System.Xml.Xsl),則可以使用System.Xml.Xsl。