最佳答案
我的工作空间里有两个解决方案,比如 A 和 B。
解决方案 A 是一个较老的项目,我完成了一段时间前的编码。 在解决方案 B 中,我需要使用解决方案 A 中的一些类,为此,我添加了对解决方案 A 中一个项目的 dll 的引用。
问题是当我尝试调试。我也想进入 A 的代码。VisualStudio 无法加载这些类的代码(“当前位置没有可用的源代码”)我只能看到反汇编,这是没有用的。
我所知道的从解决方案 A 调试类的唯一方法是运行解决方案 B,分离所有进程(在“调试”菜单项中)并从解决方案 A 附加进程。
但是,这非常不方便,我只能一次调试 A 或 B。
有没有一种方法可以允许单步执行引用的 dlls 代码(我有它的源代码) ?
解决方案: 我的错误在于我认为一个项目只能是单一解决方案的一部分。事实上,一个项目可以是任意数量的解决方案的一部分。
当需要引用旧项目时,只需将该项目添加到解决方案中。这是通过右键单击解决方案资源管理器 > 添加 > 现有项目中的新解决方案来完成的。
然后,您就可以添加项目引用。正如其他人所写的,您可能应该完全避免使用 dll 引用到您自己的代码(或者您可能需要更改和调试的其他代码)。
在 MSDN中可以找到关于如何设计解决方案的非常好的参考资料。