【发布时间】:2017-01-11 23:39:31
【问题描述】:
我有一个方法 1,它调用一个在运行时动态解析的类型的方法 2。该类型位于我拥有的引用程序集中。我在 method2 的调用上在 method1 中放置了一个断点,并且我在其 .cs 文件中的 method2 上有一个断点。我正在使用 Visual Studio 2015 更新 3 和 Resharper。 (我也有 CodeRush)。
我无法单步进入方法 2,也无法执行方法 2。在单步进入方法 2 之前,调试器单步执行到下一行。 ctrl-alt-click on method2 显示“未找到 method2 的实现”。 ctrl-click on method2 进入它的界面。
我想知道如何在调试期间闯入 method2。
【问题讨论】:
-
如果您禁用/删除 Resharper 工具,然后使用 VS IDE“Step Into(F11)”调试您的应用程序,结果如何?是不同项目中的两个类方法还是同一个项目中的不同类文件?您真正创建了哪种应用程序,VC++/C#?是混合模式调试吗?您是否在工具->选项->调试下启用了“使用托管/本机兼容模式”?还请首先确保没有构建错误。
-
我只使用 c#。两种模式都关闭。这不是混合模式。 method2 位于不属于解决方案的项目的类文件中。它的程序集被引用。
-
@Tony,如果你将这两种模式都禁用,结果如何?您是否确保在运行应用程序期间确实调用了第二类方法?您可以在引用类中输出某些消息,并访问输出结果。至少,我们知道它是否被调用。也许你忘记设置 dll 引用属性“copy local=True”或其他。
-
如果您使用项目引用而不是程序集引用,这个问题会怎样?请检查真正加载程序集的调试模块窗口:stackoverflow.com/questions/654696/… 和social.msdn.microsoft.com/Forums/en-US/…,并确保所有项目都使用相同的 .NET Framework 版本。如果您有任何最新信息,请随时告诉我。
-
目前我已经没有这个需求了,当有类似的情况出现时,我会尝试这些技巧。感谢您的提示。希望它能让其他开发者受益。
标签: c# visual-studio-2015 resharper visual-studio-debugging coderush