我有一个最低版本为 Windows 10 版本 1809(10.0;Build 17763)的项目,我收到了数千条警告:
This call site is reachable on all platforms. 'ValueSet.this[string]' is only supported on: 'Windows' 10.0.10240.0 and later.
我阅读了文档,它建议使用:
[UnsupportedOSPlatform("windows")]
[SupportedOSPlatform("windows10.0.17763")]
我无法使用它,因为:
CS0246: The type or namespace name 'UnsupportedOSPlatformAttribute' could not be found (are you missing a directive or an assembly reference?)
CS0246: The type or namespace name 'UnsupportedOSPlatform' could not be found (are you missing a directive or an assembly reference?)
如何解决此问题?如果版本高于 10.0.10240.0,为什么我会收到警告消息?
我发现,因为我有多个具有不同框架的项目,并且我在它们之间共享cs文件,所以我无法直接使用
[SupportedOSPlatform("windows10.0.17763")]
。
我必须指定哪个框架规则是:
#if NET
[System.Runtime.Versioning.SupportedOSPlatform("windows10.0.17763")]
#endif