0x800736B1: Вызов C++ кода из ASP.Net (из .aspx страничек или .asmx вебсервисов)
????, ??????: ? ??? ???? (??? ????? ????????) ASP.Net ????????? ??? ?????????, ?????? ?? ???????? C++ (native code), ?????? ?? ?????????, ? ??? ???????????. ??????-?? ????? ????? ???????? – ?????? ?????, ?? ?????? ?????? ?????.
??????-?? ??????? ?????????? ????? – ????? ???????????? ???? COM, ???? ??? ?? P/Invoke (Platform Invocation), ??? ??? ??????????? ?????. ?? ?????? ???????? DLL, ????????? ??? ??????? ? – ?? ? ?????.
????? ?????????? ?????? – ??? 0x800736B1 (?? ?? 2147956401) ? ?????? ?????????? ????? "Unable to load DLL exception. This application has failed to start because the application configuration is incorrect. Reinstalling application may fix this problem."
??? ???, ??? ?????? ???????? ?? ??, ??? ??? DLL ?? ????? ?????, ? ??? ?????? DLL ?? ??????? ??????-?? ??????? DLL. ??? ?????? ??????????, ????? ????????????? ?? ????? ??????, ? ?????????? ?? ??????, ???????? ???? ??? ?????? ??????? Windows ??? ??? Visual Studio. ?????? ????? ?????????, ??? ??? ??? ???? ??? ?? ?????? ???? ? ????????, ??? ????????? ??????????.
????????? ????????, ????? ????? ?? ?????????:
1. ?????????? ?????? DLL ?????? ? Visual Studio ??????? Multi-threaded Debug (/MTd) ? Multi-threaded (/MT) ?????? Multi-threaded Debug DLL (/MDd) ? Multi-threaded DLL (/MD) ? Configuration Properties | C/C++ | Code Generation. ?????????? ??????? ???????????? ?????????? ????? ?????. ??????, ?? ???? ???????? ??????? DLL.
2. ???? ?? DLL ????? ??? ????, ????? ??????????? “??????????” ?? ??? ??? ????????, ????????, ? ??????? filemon ? SysInternals.com.
??, ? ??? ????????? ???????, ??? ??? ?????? ???? ?????? ???????? ????????, ???? ? ?????? ? ?????? ????????????. ??????, ? ?????, ???????? ????? ??????????? ?? ????? ?????? ???????:
- permissions (??????) ?? DLL ??????
- .Net code security
- ?????? .config ????
- ?????? ??? ?????? ?? ?? ?????? .Net
- P/Invoke ???????? ? ???????????, ??????????, ? ????.
- ???????????? ????? ? ???????????? ???????? ??? ??? path (???? ?? ?? ??????? ?????? ??? ? ??????????)
- ? ??? ?????? ?? ???, ? ??? ???????? ?? ???? ?????? ????? - ?? ???? ???? ?? ????? ? ??? ???????? :-)
? ?? ?????? ????????????? ?????, ????? ?? ??????????? ? ????. ?? ???????????? ?????? ???? alma mater (???-????) ???? ????????, ??????? ?????? ???? ??? "????????????? ????". ? ????? ?????, ??? ??? ?????? ?? ?????????, ? ??????? ?????? - ??? ???:
Comments
- Anonymous
September 05, 2006
Странно, почему Вы нигде не упоминаете про утилиту depends из состава VS?
Если нужно узнать, от каких модулей зависит ваш модуль, depends в тысячу раз удобнее filemon! - Anonymous
September 05, 2006
Действительно удобнее. Я правда немного подозрительно отношусь к "profiling" vs. мониторинг реально работающей системы, что актуально для динамически загружаемых модулей. И ASP.Net страничку им вроде не взять, только сам DLL, который вызываешь, а он как раз тоже мог быть под подзрением (а тот ли загружаетеся и откуда?) Равно как и само ASP.Net runtime в некоторой мере. Еще надо не забывать, что profiling выполняется по текущим ID, так что легко упустить всякие ошибки доступа.