我在我的代码中引用了一个我无法真正控制的自动生成的 DLL。
该文件有大量的类定义,如下所示:
namespace _Outputs.CEEM
{
public sealed class DoorDrvrSts : SystemVariableBase, ITypedRuntimeValue<int>, IRuntimeValue
{
public const int Clsd_DoorDrvrSts = 2;
public const int Opend_DoorDrvrSts = 1;
public const int Ukwn_DoorDrvrSts = 0;
public static DoorDrvrSts Instance { get; }
public int TypedValue { get; set; }
public static int Value { get; set; }
protected override void DoInvalidateInstance();
public delegate void ValueChanged();
}
}
这就是我尝试使用上述类的方式:
_Outputs.CEEM.DoorDrvrSts.Value = _Outputs.CEEM.DoorDrvrSts.Ukwn_DoorDrvrSts;
但后来我得到以下异常:
A .NET exception (MissingMethodException) occured in the module PowerManagement
Error message: Method not found: 'Void _Outputs.CEEM.DoorDrvrSts.set_Value(Int32)'.
Throwing method: PowerManagement.DoTest
当我们收到一个生成 DLL 的新库时,整个问题就开始了。我真的不知道在哪里看!我已经重新生成了 DLL,并确保这些是我的解决方案中实际引用的那些。
有没有人有其他想法?当我们在其他机器上运行完全相同的代码(我可以看到完全相同的硬件、软件、.NET 和 windows)时,我们没有遇到任何问题。那意味着什么?