问题描述
最近几天,我尝试使用c#访问regedit。
使用Microsoft.Win32
添加后,未定义类RegistryKey。
你能帮我吗?
代码:
using System;
using Microsoft.Win32;
using System.Security.Permissions;
namespace TMREAddons
{
public class RegEdit
{
RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\MysqL AB\\MysqL Connector\\Net")
}
}
这是一个基本的类库,仅此而已。
targetFramework是:
<TargetFramework>netstandard2.1</TargetFramework>
解决方法
您的目标是netstandard2.1
-这基本上意味着“我希望它能够在与.NET Standard 2.1兼容的任何平台上运行”。鉴于在每个.NET Standard 2.1兼容平台上都不存在Windows注册表 ,对于您收到的错误,我并不感到惊讶。 (一般来说,.NET Standard不会支持Microsoft.Win32
中的任何内容。)
您可以添加Microsoft.Win32.Registry
NuGet package作为依赖项,这应该可以解决编译问题-当然,如果在非Windows平台上运行它仍然会失败。