我有一个使用 .NET Framework 3.5 的 .NET 应用程序,用 C# 编写。应用程序正在使用 BeginInvoke 异步调用委托。该应用程序在使用 Visual Studio 2012 RC 编译时工作正常,但在使用 Visual Studio 2010 SP1 编译时会冻结(主线程卡在 WaitOne 中等待异步委托完成,但它们从不执行)。
虽然错误可能是错误设计的同步,但令我惊讶的是为什么它在 VS 2012 中有效而在 VS 2010 中无效,而我在两者中都针对相同的框架版本。
在 Visual Studio for .NET 中如何实现多目标?当针对相同的框架版本时,是否应该期望可执行行为相同,或者是否存在某些部分(编译器前端或运行时库的某些部分),这取决于所使用的 Visual Studio 版本?