gpt4 book ai didi

.net 程序在用户计算机上启动时崩溃,但在开发工作站上没有

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

我们最近完成了一个 VB.Net 应用程序,但在部署后遇到了困难。

当我在我的计算机(或安装了 Visual Studio 的任何其他工作站)上运行它时,它工作正常。启动屏幕出现,提示输入数据库信息,然后显示主屏幕。当它在任何其他工作站上运行时,它会在启动时崩溃。启动画面出现,稍后 Windows 通知我们“EP.exe 已停止工作”

我查看了事件日志和错误报告,我能够提取的唯一有用信息是 fatal error 是 System.IO.FileNotFoundException .这对我没有帮助-它没有说找不到什么文件,并且 EP 直到很久以后才接触文件系统。 (主菜单深处有两个表格;在您选择要导入的文件后)。

什么会导致此错误?
我怎么知道哪个文件丢失了?
我将文件放在哪里以便.Net 可以在客户端工作站上找到它?

编辑:我关注了the instructions that @Visual-Vincent linked ,但不要认为我发现任何有用的东西。反汇编后,错误在方法0x060004ac (服务器名称表单的构造函数,完全由 Visual Studio 编写),导致错误 (IL_0037 ) 的特定行是 ldarg.0 (据我所知,这只是将一个参数插入堆栈)。之前和之后的语句分别是 nop 和 InitializeComponent()。

编辑2:阅读MSDN article on Unhandled Exceptions后,我能够让 .Net 向我展示致命异常的详细信息(“无法加载文件或程序集 Microsoft.VisualBasic.PowerPacks.Vs...”),这是我认为我可以做的事情。
* 拼命打字 *

最佳答案

追完后 AppDomain.UnhandledException 链接到 Vincent我能够让应用程序在用户工作站上运行。

    Dim currentDomain As AppDomain = AppDomain.CurrentDomain
Sub MyHandler(sender As Object, args As UnhandledExceptionEventArgs)
Dim e As Exception = DirectCast(args.ExceptionObject, Exception)
MsgBox(e.Message)
End Sub
...
Public Sub Main()
AddHandler currentDomain.UnhandledException, AddressOf MyHandler
...

结果 Visual Studio 期望将 Power Pack 安装在客户端计算机上。在对 Microsoft.VisualBasic.PowerPacks.Vs 的引用上添加“复制本地”后(并将 DLL 部署到客户端工作站)应用程序现在可以工作了。

关于.net 程序在用户计算机上启动时崩溃,但在开发工作站上没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470847/

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