我在 VS 2012 中为 Windows 8 商店应用程序创建了一个类库项目 (dll),但现在引入了 Windows 8.1,有一些新的 API 可用于操作系统(例如,用于唯一标识用户的广告 ID),我想在其中使用我的 dll,但我不想发布针对 Windows 8.1 的单独 dll。我的目标是分发可以在 Windows 8 和 Windows 8.1 商店应用程序中引用的单个 dll。如果我将创建一个针对 8.1 的 dll,那么 8.0 应用程序将无法使用我的 dll。
有没有办法检查运行时可用的特定 Api 或 Windows 8.1 应用程序的任何预处理器,以便我的 dll 在运行时识别操作系统并执行代码,例如
string deviceId=string.Empty;
#if W8.1
deviceId=Windows.System.UserProfile.AdvertisingManager.AdvertisingId;
#endif
或者请建议任何其他方式,以便我只能将一个 dll 分发给我的用户?