2014-10-09 21 views
1

我目前針對以下平臺的移植類庫項目 「與BCL擴展.NET 4.0」:PCL - 我可以針對.NET 4.5和

  • .NET框架4.5
  • Windows 8的
  • 的Windows Phone 8的Silverlight

我想補充的.NET 4.0的支持,但我目前使用的一些.NET功能,這是在.NET 4.0中提供THROU gh列入「Microsoft BCL Portability Pack」;功能,如CallerMemberName屬性,IProgress接口和更新的任務類。

有沒有在PCL項目中爲平臺添加「條件」支持的方法?即「只要包含依賴項XXXXX,就允許.NET 4.0?」

+0

不,*非常*不同的參考程序集。 – 2014-10-09 15:03:59

+0

不知道我是否完全跟隨你。但是,如果您讓PCL無條件地以.NET 4.0爲目標並引用* BCL Portability Pack *,我認爲您應該能夠在.NET 4.5應用程序中安全地使用PCL庫,因爲BCL可移植性包將轉發使用已經存在於特定目標上的類型與該目標上的實際實現相關。 – 2014-10-10 05:51:44

+0

考慮到.NET 4將在大約15個月內死亡(2016年1月12日終止),http://support2.microsoft.com/lifecycle/search/?sort=pn&alpha=.net+framework I覺得任何試圖擴大對它的支持都是浪費。當微軟發佈BCL Portability Pack時,他們顯然只專注於一些不包括PCL的舉措。因此,關注您可以控制的內容,並建議您的客戶儘快升級到.NET 4.5.2,因爲只有15個月。 – 2014-10-11 09:24:30

回答

0

正如評論中提到的那樣,在PCL中指向.NET 4並引用Microsoft.Bcl和可能的Microsoft.Bcl.Async包。

您可以考慮將PCL打包爲NuGet軟件包,並將這些軟件包列爲依賴項。這樣,當您的NuGet包安裝在項目中時,所需的Microsoft.Bcl包也將被安裝。