System.InvalidCastException:指定的强制转换仅在某些计算机上无效

Shi*_*iji 0 .net c#

我们有将对象强制转换为short的代码.

type.BusinessAreaID = (short)caType.credit_assessment_biz_areaReference.EntityKey.EntityKeyValues[0].Value;
Run Code Online (Sandbox Code Playgroud)

该对象的值为2.

此代码(单元测试)适用于创建代码的开发人员的PC.但是我们在构建服务器和另一台开发PC上获得了无效的强制转换异常.

BusinessAreaID的类型为short.

Dll也在GAC中,我们更新了它,以便它应该是相同的.

有人有主意吗.

dtb*_*dtb 6

您无法将值拆分为其他类型.例如,这有效:

short x = 2;
object y = (object)x;
short z = (short)y;
Run Code Online (Sandbox Code Playgroud)

但这不是:

int x = 2;
object y = (object)x;
short z = (short)y; // InvalidCastException
Run Code Online (Sandbox Code Playgroud)

您确定存储的值caType...lues[0].Value是否为类型short