从 Asp.Net 4 项目进入引用的 .Net 3.5 程序集

Posted

技术标签:

【中文标题】从 Asp.Net 4 项目进入引用的 .Net 3.5 程序集【英文标题】:Step into referenced .Net 3.5 assembly from Asp.Net 4 project 【发布时间】:2011-07-03 13:58:39 【问题描述】:

我可以进入被 Asp.Net 4 应用程序引用的 .net 3.5 程序集吗?

我们的项目中使用了一堆 dll。这些程序集的目标是框架 3.5。我也有程序集的源代码。在框架 3.5 项目中,如果我将 Solution->Properties->Debug Source Files -setting 设置为程序集源代码文件的位置,即使项目仅引用了程序集,我也可以进入引用的程序集。现在在 Asp.Net 4 项目中同样不起作用。我无法进入引用的代码。

如果我直接在 Visual Studio 中打开源文件(文件-打开->导航到源代码位置)并在我知道将运行的文件中放置一个断点,它会显示“...断点不会被命中。否符号已加载...”附加到 w3wp.exe 并选择调试“托管(4.0)”时。如果我将它附加到“托管(2.0)”,断点也不会命中。

请指教, 马蒂亚斯

【问题讨论】:

【参考方案1】:

所以你有你在 3.5 框架下编译的 dll,你也有它们的源代码,对吧?您是否尝试过打开包含该项目的解决方案并将其附加到 w3wp.exe?还要确保您的 dll 是使用调试信息编译的。

另一种方法是使用.NET Reflector 进入完全没有源代码的dll。

【讨论】:

这行得通。我打开了“框架”解决方案,将它附加到了 asp.net 4.0 进程,现在我可以调试代码了。非常感谢!

以上是关于从 Asp.Net 4 项目进入引用的 .Net 3.5 程序集的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC - 使用 C# 将引用不同程序集的模型从控制器传递到视图

asp.net中添加新项目后,怎样互相引用?

从 ASP.NET 项目中删除所有内联脚本

从 ASP.Net 项目中查找 DLL 的路径

如何在 ASP.NET 项目中发布引用的项目

从 ASP.net 4 Web API 2 项目通过 HttpClient 调用 REST 服务导致异常