Ela*_*lad 123 c# visual-studio-2005 visual-studio-2008 visual-studio
我的问题与Visual Studio 2008有关,虽然我认为在VS2005中应该是这样的
我的工作区有两个解决方案,比如A和B.
解决方案A是一个较旧的项目,我在前一段时间完成了编码.在解决方案B中,我需要使用解决方案A中的一些类.为此,我在解决方案A中添加了对其中一个项目的dll的引用.
问题是当我尝试调试时.我希望能够进入A的代码.Visual Studio无法加载这些类的代码("当前位置没有可用的源代码.")而且我只能查看反汇编,这是无用的.
我知道从解决方案A调试类的唯一方法是运行解决方案B,分离所有进程(在Debug菜单项中)并从解决方案A附加进程.
但是,这非常不方便,我只能一次调试A OR B.
有没有办法允许单步执行引用的dll代码(我有源代码)?
解决方案:我的错误在于我认为项目只能是单一解决方案的一部分.实际上,项目可以是许多解决方案的一部分.
当您需要引用旧项目时,您只需将项目添加到解决方案中.通过在解决方案资源管理器>添加>现有项目中右键单击新解决方案来完成此操作.
然后,您将能够添加项目引用.正如其他人所写,你应该完全避免使用dll引用你自己的代码(或者你可能需要更改和调试的其他代码).
可以在MSDN中找到有关如何设计解决方案的非常好的参考.
Mar*_*ell 103
如果您有项目参考,它应该立即工作.
如果是文件(dll)引用,则需要将调试符号("pdb"文件)与dll放在同一文件夹中.检查您的项目是否正在生成调试符号(项目属性=> Build => Advanced => Output/Debug Info = full); 如果你复制了dll,请将pdb与它一起放入.
如果您不想复制任何文件,也可以直接在IDE中加载符号,但这样做更有效.
最简单的选择是使用项目引用!
sco*_*t_f 41
我遇到过同样的问题.他是我发现的:
1)确保所有项目都使用相同的框架(这是至关重要的!)
2)在工具/选项>调试>常规中确保未选中"仅启用我的代码(仅管理)"
3)在工具/选项>调试>符号中清除所有缓存的符号,取消并删除"符号文件(.pdb)位置"列表框下的所有文件夹位置,但默认的"Microsoft符号服务器"除外,但仍然取消它.同时删除"此目录中的缓存符号"文本框中的任何静态路径.单击"清空符号缓存"按钮.最后确保勾选"仅指定模块"单选按钮.
4)在所有项目的Build/Configuration Manager菜单中,确保配置处于Debug模式.
小智 11
另外要记住的一点是,确保引用的dll没有安装在GAC中.经过测试,我将我的dll安装到GAC中进行系统级测试.后来,当我不得不再次调试我的代码时,我无法进入引用的程序集,直到我从GAC中删除它们.
| 归档时间: |
|
| 查看次数: |
155226 次 |
| 最近记录: |