C# 如何获取Oid(#Snmp)的名称?

C# 如何获取Oid(#Snmp)的名称?,c#,snmp,C#,Snmp,好的,按照的建议,我尝试使用其他库获取Oid名称: 以下是示例: public static void Main(string[] args) { string oid = ".1.3.6.1.4.1"; IObjectRegistry registry = new ReloadableObjectRegistry(@"C:\Users\Fnizz\Desktop\MIBS_BARCO\"); IObjectTree tree = registry.Tree;

好的,按照的建议,我尝试使用其他库获取Oid名称:

以下是示例:

public static void Main(string[] args)
{

    string oid = ".1.3.6.1.4.1";
    IObjectRegistry registry = new ReloadableObjectRegistry(@"C:\Users\Fnizz\Desktop\MIBS_BARCO\");
    IObjectTree tree = registry.Tree;
    var o = tree.Search(ObjectIdentifier.Convert(oid));
    string textual = o.AlternativeText;
    Console.WriteLine(textual);
    if (o.GetRemaining().Count == 0)
    {
        Console.WriteLine(o.Definition.Type.ToString());
    }

    Console.ReadKey();
}
但是我没有得到值
.iso.org.dod.internet.private.enterprises
而是得到了这个值:
.iso.3.6.1.4.1
您必须首先使用#SNMP MIB Compiler(Compiler.exe)编译MIB文档。如果缺少任何依赖项,它将告诉您。只有当所有依赖项都存在时,编译器才能编译文档而不会出错

编译器在modules文件夹中生成*.module文件。然后需要将这些文件(*.module)放入C:\Users\Fnizz\Desktop\MIBS\u BARCO\文件夹中

对象注册表能够加载它们并正确执行名称解析。对象注册表不直接位于MIB文档之下,因此向其提供MIB文档将不起作用