c#2005调试程序正常,生成了引用的dll文件,但是生成程序后在其他机器上使用,总是出现缺少程序集的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#2005调试程序正常,生成了引用的dll文件,但是生成程序后在其他机器上使用,总是出现缺少程序集的错误相关的知识,希望对你有一定的参考价值。

我在其他机器上也安装了引用的dll文件的程序,但是发现运行程序时报错中没有应用dll文件,不知为何,哪位高手赐教

方法一:根据错误提示,缺少什么引用就添加什么
方法二 :只是需要dll文件吗,看看2电脑中 框架集相同不,我们的dll一般都是基于.Netframework
的。
在本机上build一下,将bin(默认生成dll的目录)下dll copy
到其他电脑项目的debug/bin目录下,vs中添加引用,应用进来
.cs文件 using 进来
clean sln
ild sln
方法三: 将本机程序 拷到 其他电脑上,build,生成dll。
其实这时build的话,如果出错,那么很可能就是缺少框架集了,验证方法二
参考技术A 不知道另一台机器上是否也安装了 VS2005
如果没有的话 可能是程序缺少类库 底层的 像什么FrameWork 之类的
建议你将程序用VS自带的打包程序 打包一下 这样他就会把所有的DLL打进去
到别的机子上就能运行了本回答被提问者采纳

C#2005调试出现“没有可用于当前位置的源代码”

这是C#2005调试的时候出现的情况,调试不了
请各位高手帮我,在线等

个人经验,就是你在一个项目里引用了另一个项目的dll.但是当你修改了被引用的dll的代码后,引用dll的项目里的dll没有及时更新。你可以在项目生成时设置dll依托项来指定先更新生成的dll,再更新主项目。

MSDN上的说法:
没有可用于当前位置的源代码
项目不包含您试图查看代码的源代码。原因通常是双击了“调用堆栈”窗口或“线程”窗口中没有源代码的模块。可以继续调试,但不能使用源代码窗口设置断点并在此位置执行其他操作。如果需要设置断点,请使用“反汇编”窗口。

另一可能原因是:试图调试托管代码的转储文件。Visual Studio 仅支持使用 SOS 工具,在“即时”窗口中对托管的小型转储进行调试。有关信息,请参见如何:使用 SOS 和 SOS 调试扩展 (SOS.dll)。

在解决方案属性页中,可以更改调试器查找源文件的目录,并通知调试器忽略选定的源文件。

参考资料:http://msdn.microsoft.com/zh-cn/library/3sehk0fb(VS.80).aspx

参考技术A 就是说,你加载的源代码版本与你当前正在调试的项目中加载的组件不一致,比如你在源代码中做了修改,但你引用的dll却未能及时更新。 参考技术B 最简单的,重新生成解决方案,一切OK,刚刚亲测

以上是关于c#2005调试程序正常,生成了引用的dll文件,但是生成程序后在其他机器上使用,总是出现缺少程序集的错误的主要内容,如果未能解决你的问题,请参考以下文章

.net 引用dll的路径问题

vs 2017 打包生成时 会自动把依赖dll移除是啥情况

未能找到元数据文件

.net生成dll的问题

如果使用WINDBG来调试C语言程序.

VS2005发布生成网站时如何设置固定的dll文件名?