我有一个非常复杂的 WPF 和 C++/CLI 应用程序,它是使用 .NET 3.5 构建的。我们已迁移到 4.0 以利用 WPF 的优势,因此我们在解决方案中的所有项目都针对 4.0。
在只有 4.0(和 MSVC++ 2010 [和 2008])的 XP 机器上运行我们的应用程序时,将弹出一个错误对话框并显示以下消息:
“要运行此应用程序,您首先必须安装以下 .NET 框架版本之一:2.0.50727”
如果我使用 .NET 4.0 安装 .NET 2.0,我的应用程序将运行。
任何人都知道如何调试加载程序集以了解发生了什么?
更新
我刚刚发现了 VS2010 中的“模块”窗口,并且在调试器中运行时还观察了输出窗口中的模块加载事件。我可以清楚地看到我的应用程序正在运行一个 .NET 2.0 模块。
'Kudu.exe': Loaded 'C:\Windows\SysWOW64\WindowsCodecs.dll', Exports loaded.
'Kudu.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll', Exports loaded.
'Kudu.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4927_none_d08a205e442db5b5\msvcr80.dll', Exports loaded.
有什么办法可以查看加载了什么?