【问题标题】:C# Released program , .exe and dll, when hit start, works on my computer but not othersC# 发布的程序,.exe 和 dll,当点击开始时,在我的电脑上工作,但在其他电脑上不工作
【发布时间】:2015-01-10 17:07:37
【问题描述】:

所以基本上我编码了一些东西,当我按下开始时,它使用来自 dll 等的内容。 当我这样做时,一切正常,我将所有.dlls 与.exe 放在同一个文件夹中, 但是在别人的电脑上它就不能工作了,它崩溃了,轰隆隆。

尽管他拥有 100% 喜欢我的一切

我不知道该怎么做才能找到导致这种情况的原因,有什么办法知道吗?

private void nsButtonAutoStart_Click(object sender, EventArgs e)
    {

        secondThread = new Thread( () => Start(dsflfsdl, sgdsgd, sggdsg, etc));

        secondThread.Start();          
    }

它的作用是:

if (!Directory.Exists(user))
                        Directory.CreateDirectory(user);

比使用给定名称等创建更多文件夹。好吧,我不会描述所有内容,只需要知道如何发现问题所在。

【问题讨论】:

  • 在你描述更多之前我们不会告诉你答案!
  • Start(dsflfsdl, sgdsgd, sggdsg, etc)你真的以为问问题的方式就是闭上眼睛随便按个键吗?

标签: c# dll crash


【解决方案1】:

有几个例外可以由此引发,所以我将讨论最可能的罪魁祸首的原因......

  • Framework:可能是未安装 .NET Framework 或未安装正确版本的情况。请注意,System.___ Dll 通常包含在 GAC 中,但有时可能会丢失。安装 GAC 浏览器工具并确保您在项目中引用的所有内容不仅已安装,而且在 GAC 中正确显示。
  • 权限:有可能由于程序被重新识别为来自其他地方并且缺少发布者签名,因此它没有文件系统权限,因此即使尝试查看文件也会崩溃。这可以通过尝试在 Windows 中让另一台计算机 Run as Administrator 来解决。这也可能导致DLL Not Found 异常,因为无法访问所需 Dll 的运行目录。

如何查找异常:如果客户看到“程序已停止工作”窗口,通常会选择查看“更多详细信息”,其中的一行“更多数据 X”将是实际的异常类型。

  • 缺少方法异常:如果找不到方法,可能会发生这种情况。如果您“提供” GAC 上也存在的 DLL(例如,系统或 mscorlib),则可能会发生这种情况。因为大会决议首先检查 GAC,如果存在,它将使用 GAC 版本,即使您提供了副本。如果您不指定特定版本的要求,这可能会导致问题,因为它可能会挂接到应获取 4.5 的 .NET 4.0 程序集。确保安装了正确版本的 .NET,并尝试将您的项目设为 Require Sepcific Version: True 以供所有参考

【讨论】:

  • 我发现了错误,它说: System.MissingMethodException: Method not found: 但是如果我提供.dll,为什么它会在我的电脑上找到它而不是在他的电脑上?
  • 这也是很多答案,所以我将在我的答案上再多走几步
【解决方案2】:

我发现了问题,基本上是他们有的.dll,它是好的,但它缺少一些数据,它是300 kb而不是454 kb

【讨论】:

  • 如果您找到答案,请将此标记为问题的答案,以便其他可能有此问题的人有答案。
猜你喜欢
  • 2011-01-19
  • 2022-10-25
  • 2013-08-23
  • 2021-03-27
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
  • 2021-02-04
  • 2020-10-09
相关资源
最近更新 更多