VS 2012 で Windows 8 ストア アプリ用のクラス ライブラリ プロジェクト (dll) を作成しましたが、Windows 8.1 の導入により、OS で使用できる新しい API がいくつかあります (ユーザーを一意に識別するための広告 ID など)。私のdllですが、Windows 8.1を対象とした別のdllをリリースしたくありません。私の目的は、Windows 8 と Windows 8.1 ストア アプリの両方で参照できる単一の dll を配布することです。8.1 を対象とする dll を作成すると、8.0 アプリはその dll を使用できなくなります。
私のdllが実行時にOSを認識してコードを実行するように、実行時に利用可能な特定のApiまたはWindows 8.1アプリのプリプロセッサをチェックする方法はありますか?
string deviceId=string.Empty;
#if W8.1
deviceId=Windows.System.UserProfile.AdvertisingManager.AdvertisingId;
#endif
または、ユーザーに 1 つの DLL のみを配布できるように、他の方法を提案してください。