gpt4 book ai didi

c# - 如何在不创 build 置的情况下让可执行文件在其他计算机上运行,

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:58 26 4
gpt4 key购买 nike

我有一个程序可以绘制一个包含一些数据的文本文件。它在 VS 2010 C# 的调试/ Release模式下工作。我正在使用 .Net 和 Aforge 框架。在我的引用资料中有 AForge.Math 和 System.Windows.Forms.Charting 库。

当我在 ...bin/release 文件夹中运行可执行文件时,它完全可以工作,这意味着当我将我的文本文件拖放到我的表单中时,会出现一个图表,这是应该的。但是,如果我将该发布文件夹复制到另一台计算机上,.exe 会运行,但是当我拖放文本文件时,它不会绘制。我只是得到一个白色的空白表格。这就是程序运行时的样子...... This is what the program should look like when it works

当它不工作时,它会做类似这样的事情(所以我试图将一个文本文件拖放到表单中),然后我得到看起来像这样的东西...... This is not working

我怀疑我的问题来自使用 AForge 框架。所有计算机都有 .Net,因此当输入数据时,图表会继续工作,但正在绘制的数据来自不在计算机上的 AForge。虽然我不完全确定。

最佳答案

您应该复制在调试或发布文件夹中找到的所有 DLL。但有时并不是所有的 DLL 都出现在那里。 如果您使用的是框架,则可能正在安装目录或 GAC 中寻找这些 DLL

在这种情况下,AForge 是一个外部 dll,因此您有两种解决方案:

  1. 在所有要复制程序的电脑上安装 AForge
  2. CopyLocal True:在引用中,在每个 AForge DLL 中,确保 CopyLocal 为 true。检查这个link寻求有关设置 CopyLocal=true 的帮助。然后这些 DLL 将出现在您的调试/发布目录中,因此当您拖动时所有引用都将起作用。确保复制 debug/release 文件夹中的所有文件,特别是 .dll.exe.config。一旦你让它工作,也许你可以避免复制 .pdb 文件。

enter image description here

我个人会尝试最后一个。

关于c# - 如何在不创 build 置的情况下让可执行文件在其他计算机上运行,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15665481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com