这让我感到疯狂,所以希望有人可以帮忙!
我在C#中开发了一个使用CefSharp(Chromium)组件的小应用程序。此应用程序在安装了VS2015的任何PC上运行良好,但在非开发计算机上没有警告或异常对话框时立即崩溃。
该解决方案是为x86构建的,并且该应用程序的Release或Debug版本会出现问题。
我使用了Assembly Binding Log Viewer (Fuslogvw.exe)
程序,但它没有报告我的绑定有任何错误 - 所有报告都说好。
Windows错误日志:
应用程序:Launcher.exe Framework版本:v4.0.30319描述:由于未处理的异常,进程已终止。异常信息:System.IO.FileNotFoundException Stack:at Launcher.Program.Main()
有人可以建议我可以做些什么来尝试识别这个问题吗?
编辑:非开发PC上安装位置的目录列表。
16/12/2015 00:28 440,320 Launcher.exe
12/12/2015 10:59 1,688 Launcher.exe.config
16/12/2015 00:28 77,312 Launcher.pdb
16/12/2015 00:28 22,696 Launcher.vshost.exe
12/12/2015 10:59 1,688 Launcher.vshost.exe.config
30/10/2015 07:19 490 Launcher.vshost.exe.manifest
12/12/2015 10:55 2,197,289 cef.pak
12/12/2015 10:55 647,680 CefSharp.BrowserSubprocess.Core.dll
12/12/2015 10:55 11,264 CefSharp.BrowserSubprocess.exe
12/12/2015 10:55 974,336 CefSharp.Core.dll
12/12/2015 10:55 28,004 CefSharp.Core.xml
12/12/2015 10:55 139,776 CefSharp.dll
12/12/2015 10:55 23,040 CefSharp.WinForms.dll
12/12/2015 10:55 4,223 CefSharp.WinForms.xml
12/12/2015 10:55 230,962 CefSharp.xml
12/12/2015 10:55 296,406 cef_100_percent.pak
12/12/2015 10:55 403,210 cef_200_percent.pak
12/12/2015 10:55 3,873,562 cef_extensions.pak
11/12/2015 22:50 5,040 cloud.png
12/12/2015 10:55 2,106,216 d3dcompiler_43.dll
12/12/2015 10:55 3,466,856 d3dcompiler_47.dll
13/12/2015 00:34 5,976 debug.log
12/12/2015 10:55 4,405,316 devtools_resources.pak
12/12/2015 10:55 10,206,624 icudtl.dat
11/12/2015 22:50 2,051 launch.html
12/12/2015 10:55 50,612,224 libcef.dll
12/12/2015 10:55 75,264 libEGL.dll
12/12/2015 10:55 1,874,944 libGLESv2.dll
16/12/2015 22:13 0 list.txt
16/12/2015 00:30 <DIR> locales
12/12/2015 10:55 410,979 natives_blob.bin
11/12/2015 22:50 129,382 output.ico
11/12/2015 22:50 26,554 portal.png
16/12/2015 08:18 543,928 procdump.exe
15/12/2015 23:03 2,732 relnotes.txt
12/12/2015 10:55 463,528 snapshot_blob.bin
16/12/2015 00:30 22,952 unins000.dat
16/12/2015 00:30 1,197,891 unins000.exe
12/12/2015 10:55 202,240 widevinecdmadapter.dll
答案 0 :(得分:3)
使用Windows Sysinternals(Microsoft TechNet的一部分)中的Process Monitor来监控应用程序的文件活动。
您会注意到记录了大量事件。其中大多数是关于访问注册表。但幸运的是,您可以安装不同类型的过滤器。如果您知道要分析的流程的名称,请按流程名称进行筛选。
您将看到该应用尝试访问哪些文件以及访问是否成功。
答案 1 :(得分:1)
由于未处理的异常,该流程已终止。异常信息:System.IO.FileNotFoundException
如果出现此错误,请确保已安装Visual C ++ 2012/2013 Redistributable。
http://www.codeproject.com/Articles/1058700/Embedding-Chrome-in-your-Csharp-App-using-CefSharp
答案 2 :(得分:0)
您是否引用了非开发机器无法找到的文件?文件访问是在您自己的代码中还是在CefSharp组件中进行?
尝试在目标文件的代码之前放入file.exists检查并记录该结果
很抱歉,如果你已经尝试过这个话。