无法在Windows XP下运行Lightswitch 2012 Programm

Cha*_*ake 5 .net windows-xp visual-studio-lightswitch

我已将Lightswitch 2011项目迁移到LS 2012.我通过运行"vslshost.exe"启动已编译的应用程序.这适用于Windows 7(32位和64位,但是当我使用Windows XP启动应用程序失败时(vslshost.exe不是有效的Win32应用程序).在切换到LS 2012之前一切都很顺利.

应用程序编译为桌面应用程序,它依赖于可用的SQL数据库,不使用内部ApplicationData数据库.我可以在两台PC上重现这一点,它们都是最新的Windows XP.

在用ildasm查看vslshosts.exe后,我很害怕该项目是针对.NET 4.0编译的.因此,框架没有随着将项目迁移到LS 2012而改变.

我无法找到有关此问题的任何信息.我只遇到过使用VS 2012的Windows XP和C++的一些问题.

你有这方面的信息吗?

提前致谢!

小智 7

我有同样的问题,通过执行以下操作设法使其工作.我启动了Visual Studio命令提示符并在可执行文件上运行dumpbin:

dumpbin  /headers vslshost.exe
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

到目前为止测试了它,我的应用程序在XP上工作正常.我也尝试让生成的安装程序工作,但是在函数调用InitializeCriticalSectionEx时失败了,这在XP中是不存在的.

或者,您可以将其部署为桌面应用程序,并将服务部署到IIS.这种方法似乎支持XP就好了.