gpt4 book ai didi

c# - 启动应用程序时有时会出现 FileNotFoundException

转载 作者:行者123 更新时间:2023-11-30 13:05:53 26 4
gpt4 key购买 nike

对于我的 WPF 应用程序的自动更新,我有这个策略:

  • (1) process.exe 启动
  • process.exe 查找更新 => 有更新
  • process.exe 复制自身 => process_copy.exe
  • process.exe 使用“更新”参数启动 process_copy.exe
  • process.exe 退出
  • (2) process_copy.exe 启动
  • process_copy.exe 查看“更新”参数,下载更新到process.exe
  • process_copy.exe 启动 process.exe
  • process_copy.exe 退出
  • process.exe 启动

请注意,我的应用程序使用了一个 dll。

这个策略是有效的,除了某些时候(不是每次)当应用程序在启动时在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 中启动

有时它会在 (2) 处崩溃,并带有

System.IO.FileNotFoundException was unhandled Message="Could not load file or assembly 'ManagedWinapi, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.

我不明白为什么它会崩溃。如果它可以从 (1) 开始,为什么它不能(有时)从 (2) 开始?

有人有解释吗?

预先感谢您的回答

最佳答案

选项 0:您知道“ManagedWinapi”的依赖项吗?如果不是,请使用 Reflector 来确定它们。找到其中一个可能有问题?

选项 1:尝试运行 ProcessMonitor 以确定您的应用程序偶尔会丢失什么。 (“或其依赖项之一” - 可以是任意数量的东西。

选项 2:这是一个间歇性的问题。您的复制操作是异步的,还是您绝对确定“process_copy.exe”加上您可能正在复制的任何其他组件已更新?

关于c# - 启动应用程序时有时会出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2379352/

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