1

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 のみを配布できるように、他の方法を提案してください。

4

2 に答える 2

0

.NET フレームワークのバージョンに基づいて独自の条件付きディレクティブを作成して試すことができます。Windows 8.1 は .NET 4.5.1 を使用します

この MSDN サンプルが役立つ場合があります =>複数の TargetFramework バージョン ライブラリの構築

于 2013-10-25T08:43:51.793 に答える