调试器不会在程序集上命中断点

时间:2015-12-13 12:11:57

标签: asp.net .net debugging visual-studio-2013 visual-studio-2015

在Web应用程序中,我无法调试程序集,但我可以调试其他程序。

我有一个工具,使用CSC(带/ debug param)在网络路径上构建一些程序集,并在编译程序集的末尾,pdbs在本地站点bin文件夹中复制;例如,构建两个程序集:

  1. webui.dll
  2. webbiz.dll
  3. 我有一个来自webui和webbiz的中间程序集 webframework.dll ,显示了一些使用它们的方法。

    我遇到问题时的情况如下:

      来自httphandler的
    • 我使用Assembly.Load调用webui.dll的方法,这里我可以调试webui的方法
    • 在代码之后我调用了webframework的方法,在这里我也可以调试它的方法
    • 在代码之后我调用了一个webframework方法,它处理其他程序集调用;这里来自一个委托称为使用Assembly.LoadFile的webbiz方法...在这里我可以调试webframework方法,但 webbiz

    在这里,我完全感到困惑,我找不到解决方案。

    一些信息:

    1. webapp在IIS而不是IIS express下运行
    2. 所有程序集都是为调试而编译的,而pdbs是新鲜的而且没有损坏
    3. 如果我尝试使用Step Into webbiz方法,我会看到The application in in break mode,我必须点击Continue execution
    4. 我正在使用VS2015,VS2013工作正常(!)
    5. 这是与ASP .NET相关的问题,因为如果我尝试在控制台应用程序上重现该问题,我可以调试
    6. 如果我将webbiz程序集放在与bin不同的路径中,我可以调试!

1 个答案:

答案 0 :(得分:0)

我找到解决问题的唯一方法是使用Assembly.UnsafeLoadFrom代替Assembly.LoadFile