【问题标题】:Compiling Visual basic adds cast operations编译 Visual basic 添加强制转换操作
【发布时间】:2011-09-12 07:56:31
【问题描述】:

在编译 Visual Basic 程序集时,将 int32 变量转换为 int64 以调用需要 int32 的 adodb 方法。这会导致方法在运行时未找到异常。使用反射器检查方法调用的位置时可以看到不必要的强制转换操作,并且在源代码中不存在。

当代码在我的 64 位 windows 7 机器上编译时,一切都很好,但在 64 位 windows 2008 r2 上,添加了不必要的强制转换。

有人知道如何阻止这种情况发生吗?

【问题讨论】:

  • 只是出于好奇,您在项目中启用了 Option Strict 吗?
  • 我尝试了开启和关闭选项严格。没什么区别。
  • 很奇怪。 Option Strict On 真的不应该向 Int64 添加额外的强制转换。

标签: vb.net com compiler-construction


【解决方案1】:

尝试专门为 x86/32 位编译应用程序。

How do I force MSBuild to compile for 32-bit mode?

【讨论】:

  • 这似乎没有帮助。它仍然会进行不需要的强制转换操作。
猜你喜欢
  • 2015-07-11
  • 1970-01-01
  • 1970-01-01
  • 2010-11-27
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多