如何访问 class RegistryKey?

How to access the class RegistryKey?

这几天尝试用c#访问regedit。

我使用 Microsoft.Win32 添加后 class 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")
    }
}

这是一个基本的 class 库,仅此而已。

目标框架是:

<TargetFramework>netstandard2.1</TargetFramework>

您的目标是 netstandard2.1 - 这基本上意味着“我希望它能够 运行 在任何与 .NET Standard 2.1 兼容的平台上”。鉴于 Windows 注册表 存在于每个 .NET Standard 2.1 兼容平台上,我对您遇到的错误并不感到惊讶。 (一般来说,我不希望 .NET Standard 支持 Microsoft.Win32 中的任何内容。)

您可以添加 Microsoft.Win32.Registry NuGet package 作为依赖项,这应该可以解决编译问题 - 当然,如果您在 non-Windows 平台上 运行 仍然会失败。