winforms 使用应用程序“用户程序菜单”时无法加载文件或程序集错误

hts6caw3  于 2023-08-07  发布在  其他
关注(0)|答案(4)|浏览(141)

我有一个winform应用程序,我已经建立了安装程序通过使用windows安装项目.现在,与安装程序的帮助下,我已经成功地安装到我的系统中的应用程序.在检查安装文件夹,我可以注意到所有的外部. dll存在于那里,随着应用程序.exe.现在,我从用户程序菜单启动应用程序,并在按钮点击从应用程序屏幕上,我得到错误为.

System.IO.FileNotFoundException: Could not load file or assembly 'EPPlus, Version=3.1.3.0, Culture=neutral, PublicKeyToken=ea159fdaa78159a1' or one of its dependencies. The system cannot find the file specified.

字符串
当文件存在于文件夹中时。当我试图从安装文件夹使用应用程序时,我能够访问所有功能,没有任何错误。
为什么会这样。请帮我解决这个问题。

rqenqsqc

rqenqsqc1#

在我的例子中,我试图在SSIS包中使用EPPlus库,我得到了同样的错误。我的解决方案是将文件放在这个文件夹中:c:/Program Files(x86)/Microsoft SQL Server/100/DTS/binn/
谢啦,谢啦

qqrboqgw

qqrboqgw2#

要调试此问题,请打开项目Properties->open Debug->set Working Directory as“Start Menu”文件夹(即C:\ProgramData\Microsoft\Windows\Start Menu\Programs\YourPragram)。然后开始调试以重新创建绑定错误。
您的应用程序可能希望将CurrentDirectory设置为应用程序文件夹。如果是,则应在代码中显式设置它。在Main方法中,添加以下内容

Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath);

字符串
通过这一行,即使应用程序从Start Menu启动,CurrentDirectory也是应用程序文件夹,而不是开始菜单。
您还可以使用Fuslogvw.exe(程序集绑定日志查看器)来诊断绑定错误。
1.启动Visual Studio命令提示符(以管理员身份)。
1.运行命令“Fuslogvw.exe”
1.点击“设置”,在日志设置对话框中,选择“日志绑定错误到磁盘”,勾选“启用自定义日志路径”,设置类似“C:\”的路径
1.从开始菜单运行程序,在异常发生后,转到C:\Default以获取EPPlus.dll的绑定日志。
诊断结果如下所示,您可以看到尝试的路径。
日志:尝试下载新的URL文件:/C:/Users/kennyzx/Desktop/cloudforge/svn/package/innosetup/Files/FolderBrowserDialogEx.DLL。日志:尝试下载新的URL文件:/C:/Users/kennyzx/Desktop/cloudforge/svn/package/innosetup/Files/FolderBrowserDialogEx/FolderBrowserDialogEx.DLL。

LOG: All probing URLs attempted and failed.

wribegjk

wribegjk3#

在快捷方式中,您可能必须设置“Start In”目录,以便Windows可以设置应用程序的当前目录。

dgsult0t

dgsult0t4#

我使用了EPP Plus包的另一个版本(据称是一个修复性能问题的分支),在官方包失败的地方工作。另一个(非官方)包是EPPlus.Performance。

相关问题