我被迫从VS2008升级到VS2012。这意味着我的所有代码都需要更新到.NET Framework 4.0。我的目标是通过此更新保持与Windows XP的兼容性。
所以我有一个包含多个项目的解决方案。大多数是用VB编写的。一个项目是用C ++编写的,因为我需要对DDE命令进行非托管调用,并将其包装在托管对象周围。我能做的最好的事情是使用.NET 3.5在VS2008环境中编译它,以便它可以在Windows XP中正常运行。我的主要项目现在是混合模式组件。这可能是多余的信息,但我说的只是在相关的情况下。
编译后的程序在我的Windows 7开发机器上运行正常。当我在Windows XP机器上测试它时,大约20%的时间执行程序我得到错误:“无法找到GetTickCount64。”我知道Windows XP不支持此调用。主要问题是我的软件中没有必要知道自上次启动以来已经有多长时间了。我假设在编译时,Visual Studio添加了一些额外的东西。单击该消息上的“确定”后,该软件正常工作。这很烦人。有没有办法找到这个电话的地方并杀死它?我试过搜索“GetTickCount64”的解决方案但没有找到任何内容。
答案 0 :(得分:1)
听起来您可能遇到与Visual Studio 2012中的Windows XP Targeting for C ++相关的问题。在Visual Studio 2012 Update 1中添加了对带有C ++目标的Windows XP的支持,但仍必须在项目属性中明确选择