gpt4 book ai didi

c# - C#发布的程序.exe和dll,在启动时可以在我的计算机上运行,​​但不能在其他计算机上运行

转载 作者:行者123 更新时间:2023-12-03 17:49:05 25 4
gpt4 key购买 nike

所以基本上我编码了一些东西,当我按下开始时,它使用了dll等的内容。
当我这样做时,一切正常,我将所有.dll.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);

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

最佳答案

可能会抛出一些异常,因此我将探讨最可能的罪魁祸首的原因...

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

  • 如何查找异常:如果客户端看到“程序已停止工作”窗口,则通常可以选择查看“更多详细信息”,其中“更多数据X”的一行将是实际的异常类型。
  • 缺少方法异常:如果找不到方法,则可能发生这种情况。如果您正在“提供” GAC中也存在的DLL(例如System或mscorlib),则可能会发生这种情况。因为程序集决议首先检查了GAC,即使您提供了副本,它也会使用GAC版本(如果存在)。如果您未指定特定版本的要求,则可能会导致问题,因为它可能会钩入.NET 4.0程序集中,而该程序集应该抓住4.5版本。确保安装了正确的.NET版本,并尝试为所有引用
  • 制作项目 Require Sepcific Version: True

    关于c# - C#发布的程序.exe和dll,在启动时可以在我的计算机上运行,​​但不能在其他计算机上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27878820/

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