- У меня есть WPF приложение, которое использует некоторые неуправляемые библиотеки DLL в D: \ WordAutomation \ MyApp_Source \ Executables \ папка MyApp. Я могу дважды щелкнуть EXE, и все будет работать.
- Далее У меня есть проект с кодом 2007 Word, который ссылается на соответствующие управляемые DLL в указанной выше папке и пытается сделать то же самое. Поднимите интерфейс приложения. После адекватного «машета», я получаю свой пользовательский интерфейс. Но теперь есть пользователь действие, которое заставляет загрузку одной из неуправляемых библиотек DLL, взрывающихся последовательно с FileNotFoundException (без помощи/индикации которого файл отсутствует)
я поставил точку останова на проблеме line, очищенное окно вывода, нажмите F10, сравните выход, когда я запустил эту строку (добавление объекта в ObservableCollection, чей код CollectionChanged имеет код, который загружает неуправляемый кусок)
Случай 1: Дважды щелкните по EXE .. который отлично работает (слегка отломанный)
'MyApp.DesktopApp.exe': Loaded 'D:\WordAutomation\MyApp_Source\Executables\MyApp\ManagedFrameworkWrapper.dll', Symbols loaded.
'MyApp.DesktopApp.exe': Loaded 'D:\WordAutomation\MyApp_Source\Executables\MyApp\Unmanaged.Framework.dll'
'MyApp.DesktopApp.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll', Symbols loaded.
'MyApp.DesktopApp.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll', Symbols loaded.
'MyApp.DesktopApp.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugMFC_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_2a62a75b\mfc90ud.dll', Symbols loaded.
'MyApp.DesktopApp.exe': Loaded 'C:\WINDOWS\system32\msimg32.dll'
'MyApp.DesktopApp.exe': Loaded 'D:\WordAutomation\MyApp_Source\Executables\MyApp\HelperFunctions.dll'
'MyApp.DesktopApp.exe': Loaded 'C:\WINDOWS\system32\dbghelp.dll'
'MyApp.DesktopApp.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcm90d.dll', Symbols loaded.
'MyApp.DesktopApp.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFCLOC_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_11f3ea3a\mfc90enu.dll', Binary was not built with debug information.
CCollectionDataType ConstCCollectionDataType ConstCCollectionDataType ConstCCollectionDataType ConstCCollectionDataType ConstCCollectionDataType Const'MyApp.DesktopApp.exe' (Managed): Loaded 'D:\WordAutomation\MyApp_Source\Executables\MyApp\ManagedFrameworkWrapper.dll', Symbols loaded.
'MyApp.DesktopApp.exe' (Managed): Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcm90d.dll', Symbols loaded.
The thread 'Win32 Thread' (0x12ec) has exited with code 0 (0x0).
Случай 2: Выполнить ту же линию, но запускается из ворде кода за .cs файл
A first chance exception of type 'System.IO.FileNotFoundException' occurred in WindowsBase.dll
The program '[5320] WINWORD.EXE: Managed' has exited with code 0 (0x0).
Я попытался
- добавления неуправляемых библиотек DLL в той же папке, как (слово doc + VSTO dll)
- добавлена папка в переменную окружения . Все такой же.
- все, что я мог думать .. за последнюю пару дней
Я заметил, что слово, кажется, копирование через управляемый реф сборок местоположение, как показано ниже фрагмент коды .. который может быть линией расследования. Но почему слово делает это и как оно разрешает неуправляемые DLL. Я не знаю. Также в первом фрагменте есть некоторые DLL-файлы, загруженные из пути WinSXS, что также может быть другим.
'WINWORD.EXE' (Managed): Loaded 'C:\Documents and Settings\pillaigi\Local Settings\Application Data\assembly\dl3\6HQYB5GK.LY0\KC4WN109.HT4\4d81c901\70abeb86_124ec901\MyWPFPlotPopup.DLL', Symbols loaded.
Наконец, чтобы закрыть изящно ... Помогите!
Этот инструмент является чисто удивительным. Спасибо .. Я думаю, что вижу файл, который отсутствует ... Я вижу, что многие вызовы QueryOpen терпят неудачу для некоторой неуправляемой DLL с возвратом статуса NAME_NOT_FOUND. (Тот факт, что я пробираюсь в чей-то код, тоже не приносит мне пользы) – Gishu 2008-11-26 12:52:02