Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.12.2012, 21:38
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
Ситуация: есть WCF 64 бит, он внутри использует функцию с загрузкой неменеджед длл [DllImport("mydll")] ... Все хорошо, когда я пускаю WCF из-под консольного хоста. Но когда тот же сервис пускаю на том же компьютере как веб аппликацию из-под IIS пишет, что авторCan not create ttt Unable to load DLL 'Editor.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) File : Ln 0 Я подозреваю, что DllImport указывает искать длл в текущей директории, и в случае IIS она не та, где лежат файлы веб аппликации. Как правильно решить проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.12.2012, 23:05
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
Ну... Можно путь "конкретный" задать... Dynamic-Link Library Search Order ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.12.2012, 00:35
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
Winnipuh, скорее всего он пытается найти DLL-ку в папке Temporary ASP.NET Files куда содержимое папки bin автоматически копируется. Нужно положить DLL в папку входящую в PATH или дать подсказку с помощью функции SetDllDirectory. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.12.2012, 13:22
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
bazileWinnipuh, скорее всего он пытается найти DLL-ку в папке Temporary ASP.NET Files куда содержимое папки bin автоматически копируется. Нужно положить DLL в папку входящую в PATH или дать подсказку с помощью функции SetDllDirectory. Спасибо. Проблема в том, что веб апп ставится инсталлером и юзер может выбрать имя, а следовательно виртуальный фолдер, куда ставить. Т.е. в конце концов конкретный путь будет известен после реальной инсталляции. В каком месте лучше вызывать эту функцию: SetDllDirectory? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.12.2012, 14:04
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
Winnipuh, можно в global.asax, можно в статческом конструкторе твоего сервиса. Путь к bin папке можно узнать через HostingEnvironment.ApplicationPhysicalPath или рефлексию поэтому твой код без проблем подстроится под конкретную среду. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2012, 14:44
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
bazileWinnipuh, скорее всего он пытается найти DLL-ку в папке Temporary ASP.NET Files куда содержимое папки bin автоматически копируется. Нужно положить DLL в папку входящую в PATH или дать подсказку с помощью функции SetDllDirectory. кстати, но эти длл лежат в bin, они по идее тоже должны копировать? тогда почему ассембли их не находит? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2012, 16:47
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
Winnipuh, не должен. Копируются только .NET сборки. Неуправляемые dll к ним, очевидно, не относятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2012, 17:13
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
bazileWinnipuh, не должен. Копируются только .NET сборки. Неуправляемые dll к ним, очевидно, не относятся. аааааааа! вот теперь прояснилось... Я вот что подумал, кстати, а можно ли упаковать эти неменеджед длл скажем в ресурсы ассембли, и каким-то образом их подгружать? Типа того, как это можно сделать с ассемблями ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2012, 17:32
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
Можно вообще моск не есть... А попробовать таки переменные окружения...? Ну или сделать COM обертку и горя не знать :) На сколько я понял, Вы хотите развертывания простым копированием...? Может просто переделать сетуп...? Последнее Ваше озарение из серии "стоя и в гамаке" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2012, 18:49
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
buserМожно вообще моск не есть... А попробовать таки переменные окружения...? Ну или сделать COM обертку и горя не знать :) На сколько я понял, Вы хотите развертывания простым копированием...? Может просто переделать сетуп...? Последнее Ваше озарение из серии "стоя и в гамаке" у меня инсталлер ставит сервис, юзер выбирает имя и соответственно фолдер. Через переменные окружения попробую, их надо будет исправлять в процессе инсталляции... но хочется чтобы красивое решение ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.01.2013, 14:55
|
|||
---|---|---|---|
WCF: как загрузить unmanaged dll? |
|||
#18+
Проверил: Код: c# 1. 2. 3.
не работает. 2. добавил вручную явно в пути PATH путь к бину - та же ошибка.... что еще может быть? зы. там набор неменеджед дллей, которые вызывают одна другую внутри... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=19&mobile=1&tid=1397125]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 137ms |
0 / 0 |