日期:2014-05-18  浏览次数:21207 次

调用C#写的DLL取到返回值后出现“无可用源”异常
这个问题出在程序中调用一个C#类库编译的DLL,然后拿到这个DLL给的返回值以后进行处理的时候出现的错误。
可是DLL在一个Demo中使用的时候就没有出现过这个问题
而放到我的项目里就抛出个这东西来
这个DLL中开启了一个新的进程去做一个处理,我只是负责调用这个DLL去取他的返回值,拿到值以后,值在跟踪中发现没有任何问题,而且还没有对值进行任何处理操作的时候,就出现如题所说的异常。不明白是什么原因,希望高手帮忙解决。
因为不能上传图片,所以简单说下异常:
无可用源
没有可用于当前位置的源代码
若要进行进一步调查,请尝试下列操作之一
浏览查找源文件
显示反汇编

调用堆栈位置:
XXXXXXXXXXXXXXXXXX(命名空间名称和类名,方法名) 行669

------解决方案--------------------
重新编译整个项目,保证pdb文件和当前源代码一致
------解决方案--------------------
清理解决方案,重新生成
------解决方案--------------------
在Solution Explorer中右键点击解决方案,选择Clean Solution,然后再右键点击解决方案,选择Rebuild Solution
------解决方案--------------------
调试的时候你的进程是步进的,所以没问题。但是在编译后的运行,可能取值的进程已经运行完毕,而你的这个返回值的进程还在运行,所以会产生错误。注意一下代码的执行步骤。