我已将 Lightswitch 2011 项目迁移到 LS 2012。我通过运行“vslshost.exe”启动编译的应用程序。这在 Windows 7(32 和 64 位)上运行良好,但当我使用 Windows XP 时,启动应用程序失败(vslshost.exe 不是有效的 Win32 应用程序)。在切换到 LS 2012 之前,一切正常。
该应用程序被编译为桌面应用程序,它依赖于可用的 SQL 数据库,并且不使用内部 ApplicationData 数据库。
我可以在 2 台 PC 上重现这一点,两台 PC 都安装了最新的 Windows XP。
查看 vslshosts.exe 之后ildasm,我确信该项目是针对 .NET 4.0 编译的。因此,将项目迁移到 LS 2012 后,框架并未发生变化。
我无法找到有关此问题的任何信息。我只在使用 VS 2012 时遇到了一些有关 Windows XP 和 C++ 的问题。
你有这方面的信息吗?
提前致谢!
我遇到了同样的问题,通过执行以下操作设法使其正常工作。我启动了 Visual Studio 命令提示符并在可执行文件上运行 dumpbin:
dumpbin /headers vslshost.exe
dumpbin显示子系统版本设置为6(Vista)。奇怪的是,操作系统版本设置为 4。按照本页上的说明进行操作http://supportxp.com/2012/03/30/editbins-dirty-little-secret/我使用 editbin 将版本号设置为 5.1 (XP)
editbin vslshost.exe /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1
测试了一下,我的应用程序到目前为止在 XP 上运行良好。我还尝试让生成的安装程序正常工作,但在对 XP 中不存在的 InitializeCriticalSectionEx 的函数调用上失败。
或者,您可以将其部署为桌面应用程序,并将服务部署到 IIS。这个方法好像支持XP就好了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)