VS2005+VS2008混装,用VS2005生成的程序无法在装有.Net Framework2.0的机器上运行。
我开发用的电脑是Win2003.装了VS2005和VS2008. 另外还装了个虚拟机(XP的系统)。
我用VS2005写了个程序,把程序移到XP中,运行不起来。双击没有反应,在任务管理器中也看不到进程。后来从任务管理器发现程序实际运行了,但是在0.5S的时间内就自动退出了。
在程序中加日志输出也没用。
再后来,排查出问题点。
我把程序中的如下句子
WaitLogResultSignel.WaitOne(30000);
改为
WaitLogResultSignel.WaitOne(30000,true);
重新生成后,再在XP中就可以正常运行了。
查了一下MSDN,在.NET FRAMEWORK2.0中这个方法没有一个整型参数的重载。这个重载是在.NET FRAMEWORK3.5中才有的。
我就纳闷了,在VS2005中怎么会提示出3.5中才有的方法呢?
VS2008起码是可以自己设定.NET的版本。但是在2005中没有相关设置选项。
有谁知道?恳请指点。