我正在尝试在 Citrix 环境中部署 WinForms 应用程序。它已经在其他物理机和虚拟机上可靠地运行了一段时间,但只有在 Citrix 桌面上运行应用程序时才会出现故障。
失败通常是我们在(SQL Server 2005)数据库的通用设置表中将混合类型的数据作为字符串,然后在运行时将它们转换为适当的类型。
因此,例如,数据库中的 varchar(50) 列中有一个“1”,它被读入,然后类似
dim myNumericVariable as integer = Cint(dr.Item(columnName))
(其中 dr 是来自 ADO.NET 的 DataRow)。
抛出的异常中的消息说:
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 上完美运行。
我对此束手无策 - 我已经看了一遍,没有发现任何关于我为什么会看到这种行为的暗示。我将非常感谢您的建议。如果您需要有关环境或应用程序构建方式的更多信息,我会很乐意编辑问题。提前致谢..