我目前正在开发一个 C# WPF 项目,该项目使用 MySQL.Data 和 System.Data.Sqlite dll 以及其他几个。
该项目是一个 .Net 4 项目,在我的开发机器上运行没有问题。我创建了一个 MSI 安装程序包,当我添加可执行文件时,Visual Studio 会计算出依赖项并使用 EXE 添加所需的 DLL。
当我在我的开发机器上运行安装程序时,一切正常。但是,当我将安装程序复制到安装了 .Net Framework 3.5 和 .Net Framework 4 的空白虚拟机时,安装程序说一切都已成功安装,当我查看程序文件夹时,所有 DLL 也都在那里,但是当我尝试运行该软件未加载的软件,并且事件查看器中显示 .Net 运行时错误。
错误如下
应用程序:MySQLBackup.exe 框架版本:v4.0.30319 描述:进程因未处理的异常而终止。异常信息:System.IO.FileLoadException 堆栈:在 MySQLBackup.App.Application_Startup(System.Object, System.Windows.StartupEventArgs) 在 System.Windows.Application.OnStartup(System.Windows.StartupEventArgs) 在 System.Windows.Application。< .ctor>b__1(System.Object) 在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) 在 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System .Object, Int32, System.Delegate) 在 System.Windows.Threading.DispatcherOperation.InvokeImpl() 在 System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) 在 System.Threading.ExecutionContext。
错误消息并不能真正帮助我找出问题所在,因此在应用程序启动事件中,我添加了 try catch 语句,但从未捕获到异常。我还添加了 try catch aroundInitialiseComponent()
方法,该方法在应加载的第一个对话窗口上执行,但再次捕获从未捕获,因此我看不到导致错误的原因。
我怎样才能弄清楚这个问题是什么并解决它?