代码之家  ›  专栏  ›  技术社区  ›  RobD

调试在.NET 4.0应用程序池下运行的.NET 3.5代码

  •  0
  • RobD  · 技术社区  · 15 年前

    我搜遍了互联网,但无济于事。悲哀是我。

    我有一个.NET网站在.NET Framework 4.0应用程序池下运行。

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

    我已经确保了DLL和PDB的相同版本在我尝试调试的3.5代码的bin文件夹中,以及4.0网站的引用路径中。即,我尝试调试的代码与加载到应用程序池进程中的程序集匹配。

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

    我研究了并行代码执行过程,这就是在这个实例中发生的事情,并且工作得很好;但是对于我来说,在这个场景中我找不到任何关于调试的信息。

    它不是将.NET 3.5项目转换为使用.NET 4.0的选项,也不可能将它们转换为使用VS2010,并使它们以.NET Framework 3.5为目标。

    任何帮助都将不胜感激。

    1 回复  |  直到 10 年前
        1
  •  4
  •   Darin Dimitrov    15 年前

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

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

    推荐文章