.NET核心-C#-MacOS |密钥链API

.NET核心-C#-MacOS |密钥链API,c#,.net-core,keychain,C#,.net Core,Keychain,尝试使用C#在MacOS上设置/获取一些密码到Keychain中。已成功添加Xamarin.iOS程序集,但似乎无法继续。这就是我所拥有的 using System; using Security; using Foundation; var query = new SecRecord(SecKind.InternetPassword) { Server = "bugzilla.novell.com", Account = "miguel" }; 但是得到一个异常,它不是那么

尝试使用C#在MacOS上设置/获取一些密码到Keychain中。已成功添加Xamarin.iOS程序集,但似乎无法继续。这就是我所拥有的

using System;
using Security;
using Foundation;

var query = new SecRecord(SecKind.InternetPassword)
{
    Server = "bugzilla.novell.com",
    Account = "miguel"
};
但是得到一个异常,它不是那么有用。我不确定什么值为空。上面的例子是直接从,但不起作用。这个钥匙链行业的新手,所以不确定我错过了什么

有人能帮忙吗?非常感谢您的帮助

我也尝试过在没有枚举的情况下进行实例化,但仍然得到相同的错误


通过调用
security
cmd-


但如果有人知道如何通过API和使用C#实现这一点,请告诉我

在C#中使用Apple本机API之前,必须按照中的说明正确初始化Objective-C运行时:

NSApplication.Init();

实际上,调用
ObjCRuntime.Runtime.EnsureInitialized()
就足够了,但与
NSApplication.Init()
不同,
EnsureInitialized()
方法是内部的,因此只能通过反射调用,这可能不是一个好主意。

看看
SecKind.InternetPassword
@dougharch
SecKind.InternetPassword
是枚举吗?Bump:)对不起,没有macOS:)刚找到一个[糟糕的]方法-。虽然很糟糕,但它很有效!