【发布时间】:2009-07-15 09:43:07
【问题描述】:
我的工作区有两个解决方案,比如 A 和 B。
解决方案 A 是一个较旧的项目,我前段时间完成了编码。 在解决方案 B 中,我需要使用解决方案 A 中的一些类。为此,我添加了对解决方案 A 中一个项目的 dll 的引用。
问题是当我尝试调试时。我也希望能够进入 A 的代码。 Visual Studio 无法加载这些类的代码(“当前位置没有可用的源代码。”),只能查看反汇编,没用。
我知道从解决方案 A 调试类的唯一方法是运行解决方案 B,分离所有进程(在“调试”菜单项中)并从解决方案 A 附加进程。
但是,这很不方便,我只能一次调试 A OR B。
有没有办法允许进入引用的 dll 的代码(我有源代码)?
解决方案:我的错误是我认为一个项目只能是单个解决方案的一部分。事实上,一个项目可以是任意数量的解决方案的一部分。
当您需要引用旧项目时,只需将项目添加到解决方案中即可。这是通过右键单击解决方案资源管理器中的新解决方案 > 添加 > 现有项目来完成的。
然后,您将能够添加项目引用。正如其他人所写,您可能应该完全避免使用对您自己的代码(或您可能需要更改和调试的其他代码)的 dll 引用。
在MSDN 中可以找到关于如何设计解决方案的非常好的参考。
【问题讨论】:
-
该 MSDN 链接是 .net 开发人员必读的内容(无论他们使用何种源代码控制)。我很惊讶我之前没有看到它。谢谢!
-
新手,如果您已经了解项目引用,并且这不是一种选择(例如,您需要调试 NuGet 包),那么请忽略已接受的答案并直接进入这个答案:stackoverflow.com/a/26029208/398630
标签: c# visual-studio visual-studio-2008 visual-studio-2005