Я ссылаюсь на автоматически сгенерированную 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 и окна, как я вижу), у нас не возникает проблем. Что это может означать?