2

具体的には、ポータブルクラスライブラリコードがSilverlight、WinRT、または.NETで実行されているかどうかを実行時に判別できるようにしたいと考えています。

今の私の最高のアイデアは次のとおりです。

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

.NETでは「Microsoft®.NETFramework」を返し、Silverlightでは「Microsoft®Silverlight」を返しますが、現時点ではWindows 8で開発していないため、WinRTで区別できるかどうかはわかりません。

だから私はそれがうまくいくかどうか、またはもっと良いアイデアを知りたいです。

4

1 に答える 1

2

通常、その理由はほとんどありませんが、そうするクラスは次のとおりです。

http://mvvmlight.codeplex.com/SourceControl/network/forks/onovotny/MvvmLightPortable/changeset/view/f356af74426f#GalaSoft.MvvmLight/Portable/GalaSoft.MvvmLight/Helpers/DesignerPlatformLibrary.cs

PCLのIsInDesignTimeを決定するロジックの一部として使用します。

于 2013-01-04T23:10:58.963 に答える