我正在开发一个C#应用程序,我希望我的应用程序适用于Windows10和Windows7。 要执行蓝牙扫描,我必须使用2个不同的库。一个用于Windows7,另一个用于Windows10。
我已经制作了验证码来检测该应用是否在Win10或Win7上运行。 之后我使用正确的库。
问题出在windows7上我的应用程序因平台不支持异常而崩溃。 这是因为在我的代码中有一个不受支持的Win10 lib,但是由于我的验证码,这个lib在windows7中没有使用。 Win10 lib是“Windows.Devices.Bluetooth.Advertisement”。
那么,我怎样才能避免我的应用程序崩溃。
这是一个示例代码(不是一个工作代码只是一个例子):
using Windows.Devices.Bluetooth.Advertisement;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
String System = "Windows7";
if (System == "Windows7")
Console.WriteLine("Win7");
else
{
var watcher = new BluetoothLEAdvertisementWatcher();
watcher.Received += Watcher_Received;
watcher.Start();
Console.WriteLine("Win10");
}
}
private static void Watcher_Received(BluetoothLEAdvertisementWatcher sender,
BluetoothLEAdvertisementReceivedEventArgs args)
{
Console.WriteLine("Device detected");
}
}
}
要使用它,请添加对Windows.winmd的引用。您可以在windows10开发工具包中找到此文件。