2

具體來說,我希望能夠在運行時確定何時可移植類庫代碼Silverlight的,WinRT中,或.NET如何在運行時從便攜庫中確定.net平臺?

我最好的想法運行現在的問題是:

typeof(object).Assembly.GetCustomAttribute<AssemblyProductAttribute>().Product 

在.NET返回「Microsoft®.NET Framework」,並在Silverlight上返回「Microsoft®Silverlight」,但我不確定它是否區別於WinRT,因爲我目前沒有使用Windows 8進行開發。

所以我想知道這是否有效或任何更好的想法。

+2

有趣的問題。我創建了一個可移植的庫,我從一個Windows應用商店應用和一個WP8應用引用。令人沮喪的是,WS應用程序返回「Microsoft®.NET Framework」,WP8應用程序返回「Microsoft®Silverlight」。順便說一句,你現在的線路現在不適用於便攜式圖書館。嘗試'((AssemblyProductAttribute)typeof(object).Assembly.GetCustomAttributes(typeof(AssemblyProductAttribute),false)[0])。 –

+0

@AndersGustafsson謝謝,測試它。也許我需要調查輪詢的類型只有在'Type.GetType(字符串)' – jbtule

+0

@AndersGustafsson更多的思考它,WP8的東西真的不是一個問題,因爲我認爲Environment.OSVersion是正確的WP8。在Windows 8 Intel計算機上區分WinRT和.NET 4.5似乎是個挑戰。 – jbtule

回答