我有一个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.
字符串
当文件存在于文件夹中时。当我试图从安装文件夹使用应用程序时,我能够访问所有功能,没有任何错误。
为什么会这样。请帮我解决这个问题。
4条答案
按热度按时间rqenqsqc1#
在我的例子中,我试图在SSIS包中使用EPPlus库,我得到了同样的错误。我的解决方案是将文件放在这个文件夹中:c:/Program Files(x86)/Microsoft SQL Server/100/DTS/binn/
谢啦,谢啦
qqrboqgw2#
要调试此问题,请打开项目
Properties
->openDebug
->setWorking Directory
as“Start Menu”文件夹(即C:\ProgramData\Microsoft\Windows\Start Menu\Programs\YourPragram
)。然后开始调试以重新创建绑定错误。您的应用程序可能希望将
CurrentDirectory
设置为应用程序文件夹。如果是,则应在代码中显式设置它。在Main
方法中,添加以下内容字符串
通过这一行,即使应用程序从
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。
型
wribegjk3#
在快捷方式中,您可能必须设置“Start In”目录,以便Windows可以设置应用程序的当前目录。
dgsult0t4#
我使用了EPP Plus包的另一个版本(据称是一个修复性能问题的分支),在官方包失败的地方工作。另一个(非官方)包是EPPlus.Performance。