【问题标题】:Debugging .Net 3.5 code running under a .Net 4.0 App Pool调试在 .Net 4.0 应用程序池下运行的 .Net 3.5 代码
【发布时间】:2010-09-21 16:58:35
【问题描述】:

我已经在互联网上搜寻了 - 无济于事。不幸的是我。

我有一个在 .Net 框架 4.0 应用程序池下运行的 .Net 网站。

该网站引用了为 .Net 3.5 编译的各种程序集。

我已确保 dll 和 pdb 的相同版本位于我尝试调试的 3.5 代码的 bin 文件夹以及 4.0 网站的参考路径中。 IE。我尝试调试的代码与加载到应用程序池进程中的程序集相匹配。

当我使用 VS2008 附加调试器并打开 .Net 3.5 代码的解决方案时,我设置的断点被标记为无效(即用感叹号标记)。当我在调用我尝试调试的代码的浏览器页面上点击刷新时,VS2008 会引发非托管代码异常。

我研究了进程内并行代码执行,这就是在这种情况下发生的情况,并且运行良好;但对于我来说,在这种情况下我找不到任何关于调试的信息。

将 .Net 3.5 项目转换为使用 .Net 4.0 不是一个选项,也不可能将它们转换为使用 VS2010 并让它们以 .Net framework 3.5 为目标

任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net .net-4.0


    【解决方案1】:

    当应用程序池以 .NET 4.0 为目标时,这意味着您的站点在 CLR 4.0 下运行,并且针对 .NET 3.5 编译的程序集加载到此 CLR 中。 VS2008 无法调试运行 CLR 4.0 的进程,只能调试 CLR 2.0。

    因此,如果您想调试,要么将 AppPool CLR 更改为 2.0,要么使用 VS2010,甚至更好地使用您用于开发此站点的 Visual Studio 的集成服务器。

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 2011-05-20
      • 2011-03-18
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      相关资源
      最近更新 更多