Compartir a través de


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 (???-????) ???? ????????, ??????? ?????? ???? ??? "????????????? ????". ? ????? ?????, ??? ??? ?????? ?? ?????????, ? ??????? ?????? - ??? ???:

racoon on a tree, ???? ?? ??????

Comments

  • Anonymous
    September 05, 2006
    Странно, почему Вы нигде не упоминаете про утилиту depends из состава VS?
    Если нужно узнать, от каких модулей зависит ваш модуль, depends в тысячу раз удобнее filemon!
  • Anonymous
    September 05, 2006
    Действительно удобнее. Я правда немного подозрительно отношусь к "profiling" vs. мониторинг реально работающей системы, что актуально для динамически загружаемых модулей. И ASP.Net страничку им вроде не взять, только сам DLL, который вызываешь, а он как раз тоже мог быть под подзрением (а тот ли загружаетеся и откуда?) Равно как и само ASP.Net runtime в некоторой мере. Еще надо не забывать, что profiling выполняется по текущим ID, так что легко упустить всякие ошибки доступа.