我的项目目标框架设置为net5.0-windows
。
一个c#文件包含一个对Microsoft.Win32.Registry.SetValue()
的调用,它给了我以下警告:
warning CA1416: 'Registry.SetValue(string, string?, object, RegistryValueKind)' is supported on 'windows'
如果我的项目设置为net5.0-windows
,为什么我得到这个警告?
更新:什么是正确的方法来处理错误CA1416的。net核心构建?正如pavel-anikhouski指出的那样,并不能解决这个问题。
我的问题出现了,因为我在我的项目中使用共享的AssemblyInfo.cs文件,并将<GenerateAssemblyInfo>
设置为false
。
将以下行添加到AssemblyInfo.cs中可以修复此问题:
[assembly: System.Runtime.Versioning.SupportedOSPlatform("windows")]
GitHub的问题和解决方法:https://github.com/dotnet/sdk/issues/14502