Я внес изменение в существующий фрагмент кода .NET 4, чтобы создать новое свойство, состоящее из целого числа, допускающего обнуляемость.Он запускается в службе Windows.
public static int? Port
{
get;
set;
}
Концепция заключалась в том, что если значение было нулевым, оно игнорировалось, а если нет, то использовалось (сценарий не по умолчанию)
if (Port != null)
{
client = new Client( Server, Port.Value );
}
else
{
client = new Client( Server );
}
На моей машине все работает как положено.
Однако при развертывании на наших серверах тестирования я получаю исключения, когда он вызывается с сайта ASP.NET.Вот отформатированный вывод исключения:
Exception: System.MissingMethodException
Exception Message: Method not found: 'Void NameOfAssembly.set_Port(System.Nullable`1<Int32>)'.
Exception Data: System.Collections.ListDictionaryInternal
Exception TargetSite: ** Unable to GetValue **
Exception HelpLink: NULL
Это как если бы либо код был развернут неправильно, либо он просто не может найти автоматические методы get / set.Коллега сделал последующее изменение, которое работает в нашей среде тестирования, поэтому я не думаю, что это проблема развертывания.
Я не могу представить причину, по которой это могло бы произойти, за исключением, возможно, Windows Server (2008 R2), работающего не так, как Windows 7, где я его разработал, но это натянуто.когда-нибудь видел это раньше?