程序没有看到DLL文件

时间:2016-11-29 06:43:47

标签: c# .net winforms dll

我正在使用C#语言创建一个程序,我正在使用一个特殊的Dll文件,其中使用我正在使用的方法存储类。在项目中,我添加了Dll文件作为参考,然后在代码中打印using "library_name"。它完全适用于我正在制作它的计算机(视觉工作室在哪里),并且在另一台计算机上工作也很棒。但我的程序没有在位于第二台计算机上的虚拟机上工作。当我试图打开它我有一个例外,如: “无法加载文件或程序集'spd_lib,Version = 1.0.4244.21567,Culture = neutral,PublicKeyToken = null”或其依赖项。系统找不到指定的文件。“

在某处我读到.csproj文件有一个字符串存储所有项目的引用,所以我试图修改它并给出位于虚拟机上的库的绝对路径,但它无论如何都没有工作有同样的例外。你能告诉我一些与它有关的事吗?

忘了说,我的程序是在WInForms上,所以它完全打开并在虚拟机上工作,但是当我按下按钮(有一个事件,我宣布一个位于Dll文件的类的对象)它有异常,坠毁。所以,我担心这不是.Net框架问题:/

2 个答案:

答案 0 :(得分:0)

您托管应用程序的虚拟机是否安装了.Net框架? 安装Visual Studio时,系统中会安装系统dll,但虚拟机可能缺少这些系统dll。

答案 1 :(得分:0)

dll必须存在于虚拟机上才能使您的程序正常运行。为此,您必须在Visual Studio首选项窗口中将此标记为Copy Local此特定dll(选择参考时按F4) - 当您执行此操作时,它将被复制到bin文件夹(或任何文件夹)发布应用程序时的其他文件夹。

enter image description here

如果它不起作用,您需要检查应用程序从哪里请求此文件。对于此任务,您可以使用fuslogvw或仅使用Process Monitor进行检查。