好的,我目前处于痛苦的世界。

我们一直在Win7 X64上使用VS2008(VB.NET,主要是Winforms,也是ASP.NET和Windows Services)开发,具有特定的要求(我们还无法摆脱),以taginalling X86和Framework 3.5。

我们最近升级到VS2010,很快就犯错了 此resgen.exe不兼容问题. 。基本上,我们根本无法使用VS2010编译Winforms应用程序。微软或其他人建议的解决方案都没有为我自己或我团队的其他成员工作。

因此,我们尝试使用所描述的技术恢复为VS2008 这里 (即破解解决方案文件),也可以通过创建全新的VS2008解决方案并将项目添加到它。这似乎很短,但是现在我们发现,在调试应用程序时,IDE不会捕获未经处理的例外,这几乎使开发变得不可能。

由VS2008创建的全新测试应用程序(为X86和.NET 3.5编辑)并未表现出这种未能捕获异常。

我不得不求助于现在在主计算机内部的Win7(32位)VM上开发VS2010,并且确实有效...但是它是Slowwwwwwwww!

对于摆脱困境的任何想法都将不胜感激!!

更新:

好的,所以这不是一个实际的解决方案,但是作为解决方法,这不是一场完全的灾难...

感谢诺亚的评论,这促使我探索了周围的各种虚拟化解决方案。我现在发现了(可能是这里的最后一个人!) VirtualBox. 。使用不仅有点滑动比 VMware播放器 以及Microsoft/Windows虚拟PC的各种化身,它也具有 无缝模式, ,在VM上运行的应用在主机中以单独的窗口显示。因此,我现在有一个X86来宾运行VS2010,用于X86和Framework 3.5。由于来宾没有X64/X86冲突,因此没有resgen.exe问题,而我的开发设备只是作为主机桌面上的窗口出现的。它仍然比本地运行的要慢,但是我现在可以忍受它。

仍然会欣赏任何实际解决方案(或者失败,Microsoft的修复!!)

有帮助吗?

解决方案

好吧,我放弃了。

VirtualBox暂时还可以,但是VM的缓慢令人烦恼,并且永远不得不在主持人和客人之间进行移动的东西使我发疯。

因此,我已经使用Windows 7 x86重建了整个机器。

微软对这个问题的明显冷漠感到完全厌恶,但我想我不是第一个感到这样的人。

其他提示

您只能制作resgen.exe 32位作者:1。CD“%programFiles(x86)% Microsoft SDKS Windows Windows v7.0a bin” 2. 2. Corflags /32bit+ /force resgen.exe

在此更改之前保存您以前的resgen.exe。

更改之后,您需要修改所有项目,以告诉Resgen以32bitagen mode的模式运行

  1. 将托管32bit添加到任何项目文件的属性组中,该项目文件生成目标的目标.NET 3.5 - 由于Corflags Trick会在系统范围内影响Resgen.exe的位置,因此必须为所有受影响的项目设置属性。

  2. 或者,如果直接运行msbuild.exe,请使用全局属性开关传递:'/p:resgentoolArchitecture = manded32bit'

该解决方案发布在 http://tune-up-pc.com/blog/?p=10790

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top