2015-12-16 3 views
0

Это заставляет меня сумасшедшим, поэтому надеюсь, что кто-то может помочь!Сбой приложения немедленно с FileNotFoundException

Я разработал небольшое приложение на C#, которое использует компонент CefSharp (Chromium). Это приложение отлично работает на любом ПК, на котором установлен VS2015, однако он немедленно сработает без предупреждения или исключения на нерабочей машине.

Решение построено для x86, и проблема возникает с версией приложения Release или Debug.

Я использовал программу Assembly Binding Log Viewer (Fuslogvw.exe), однако он не сообщает о каких-либо ошибках с моими привязками - все отчеты говорят «ОК».

Windows, журнал регистрации ошибок:

Применение: Launcher.exe Framework Version: v4.0.30319 Описание: Процесс был прерван из-за необработанного исключения. Исключение Info: System.IO.FileNotFoundException Stack: в Launcher.Program.Main()

Может кто-нибудь посоветовать на то, что я могу сделать, чтобы попытаться определить эту проблему?

Редактировать: указать местоположение установки на ПК без разработки.

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 
+2

Вы уверены, что вы включили DLL файлы CefSharp, которые, вероятно, необходимо для вашего исполнителя работать на машине без этих файлов? –

+0

Привет, да, я гарантировал, что все библиотеки DLL настроены на CopyLocal и т. Д. Я отредактирую вопрос с помощью списка каталогов. – tip2tail

+1

Используйте Process Monitor от Sysinternals, чтобы отслеживать активность вашего приложения. Вы увидите, какие файлы приложение пытается получить доступ и был ли доступ успешным или нет. –

ответ

3

Используйте монитор процесса от Windows Sysinternals (входит в состав Microsoft TechNet), чтобы контролировать файловую активность вашего приложения.

Вы заметите, что регистрируется огромное количество событий. Большинство из них касается доступа к реестру. Но, к счастью, вы можете установить различные фильтры. Если вы знаете имя процесса, который хотите проанализировать, отфильтруйте по имени процесса.

Вы увидите файлы, к которым приложение пытается получить доступ, и был ли доступ успешным или нет.

0

Вы ссылаетесь на файл, который не может найти машина, не предназначенная для разработки? Доступ к файлу происходит в вашем собственном коде или в компоненте CefSharp?

Попробуйте положить в File.Exists проверить перед кодом для целевого файла и журнала, что результат

Извините, если это то, что вы уже пробовали, хотя.

+0

Привет, Джим. Мой код сразу же выходит, я запускаю его на машине, отличной от dev. Я не могу добавить File.Exists, поскольку я не пытаюсь открыть файл, который я знаю. Если бы я мог идентифицировать файл, который пытается открыть программа, то я бы мог это исправить. Благодаря! :) – tip2tail

+0

Вы можете проверить журнал событий? Это может сказать вам, не может ли он найти или загрузить конкретный мухи. – Jim

Смежные вопросы