如何访问类RegistryKey? 代码:

问题描述

最近几天,我尝试使用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平台上运行它仍然会失败。