Я пытаюсь развернуть приложение WinForms в среде Citrix. Некоторое время он надежно работал на других физических и виртуальных машинах, но не работал, только при запуске приложения на рабочем столе Citrix.
Обычно в случае сбоев данные смешанного типа представляются в виде строк в таблице настроек общего назначения в базе данных (SQL Server 2005), а затем преобразуются в соответствующий тип во время выполнения.
Так, например, в базе данных в столбце varchar (50) есть «1», она читается, а затем что-то вроде
dim myNumericVariable as integer = Cint(dr.Item(columnName))
(где dr - строка данных, выходящая из ADO.NET).
Сообщение в брошенном исключении гласит:
Conversion from string "1" to type 'integer' is not valid
Этот вид сбоя происходит во всем приложении, но только в среде Citrix. Во всех других наших средах он работает нормально, но я не знаю, является ли тот факт, что это Citrix, просто случайностью, и есть какая-то другая причина.
Это приложение VB.NET, .NET 2.0 с включенным Strict и Explicit, скомпилированное для x86. Он отлично работает на XP SP3, а также Windows 2003 Server x64.
Я на этом сошел с ума - я осмотрелся и не нашел намека на то, почему я вижу это поведение. Буду очень признателен за предложения. Если вам нужна дополнительная информация об окружении или о том, как построено приложение, я с радостью отредактирую вопрос. Заранее спасибо ..