asp.net DLLNotFound

Привет. Возникла следующая проблема при попытке прикрутить защиту к asp.net приложению:
При вызове GrdApi.GrdStartup(GrdFMR.ALL) функция возвращает DLLNotFound.
При этом библиотеку GrdAPI32.dll скинул в папку Application/bin и GuardantDotNetApi.dll добавил в reference проекта.
Тоже самое сделал для консольного приложения и всё заработало.

Вопрос собственно - как быть?:) Ну или в какую директорию нужно кинуть GrdAPI32.dll?

ps: win7 64, visual studio 2010, dll`ки от 13.07.2010

Re: asp.net DLLNotFound

Добрый день.

В данном случае необходимо добавить новую переменную среды,  указывающую как раз на место расположения библиотеки GrdAPI32.dll.

В Windows 7 сделать это можно следующим образом:

Вызвать меню "Свойства системы"
https://forum.guardant.ru/uploads/legacy/0/0/372/thumb/p1678r60ibg0gd8oqnr1fqe8tv1.jpg

Далее выбрать "Дополнительные параметры системы"
https://forum.guardant.ru/uploads/legacy/0/0/372/thumb/p1678rdh211mafvmtot4pel1j4h1.jpg

Открыть меню "Переменные среды..."
https://forum.guardant.ru/uploads/legacy/0/0/372/thumb/p1678rgnd21sni14ft1eeg68joct1.jpg

Создать переменную среды для конкретного пользователя либо общую (системную) переменную
https://forum.guardant.ru/uploads/legacy/0/0/372/thumb/p1678rinkb1jrcq252afv1p2511.jpg

https://forum.guardant.ru/uploads/legacy/0/0/372/thumb/p1678rjhkj266k021te41ind19i01.jpg

https://forum.guardant.ru/uploads/legacy/0/0/372/thumb/p1678rnu7fq071dpgnau8qd1vq01.jpg

Re: asp.net DLLNotFound

Антон Тихиенко, Спасибо.

Re: asp.net DLLNotFound

Доброго времени суток.
Не стал создавать новую тему, ибо проблема схожа.

Суть проблемы:
RetCode = GrdApi.GrdStartup(GrdFMR.Local);
В RetCode записано NotFoundDLL

Используемая ОС: OpenSUSE;
Язык C#; Свободная реализация .NET: Mono.

Куда прописать GrdAPI32.dll?

Re: asp.net DLLNotFound

Здравствуйте.

tempset пишет:

Доброго времени суток.
Не стал создавать новую тему, ибо проблема схожа.
Суть проблемы:
RetCode = GrdApi.GrdStartup(GrdFMR.Local);
В RetCode записано NotFoundDLL
Используемая ОС: OpenSUSE;
Язык C#; Свободная реализация .NET: Mono.
Куда прописать GrdAPI32.dll?

Возможно тут (ссылка1, ссылка2) найдется полезная информация по данному вопросу.

Re: asp.net DLLNotFound

Добрый день.

К сожалению, не помогло.

# export GrdAPI32=/home/xxx/GrdAPI32.DLL
# echo $GrdAPI32
/home/xxx/GrdAPI32.DLL

RetCode = NotFoundDll

Re: asp.net DLLNotFound

Добрый день.

tempset пишет:

Добрый день.
К сожалению, не помогло.
# export GrdAPI32=/home/xxx/GrdAPI32.DLL
# echo $GrdAPI32
/home/xxx/GrdAPI32.DLL
RetCode = NotFoundDll

Хочу извиниться, т.к. в данном случае я не уделил должного внимания тому факту, что среда разработки используется под Linux.
Таким образом, добавление переменных сред тут не поможет, поскольку запрашиваемая библиотека ("GrdAPI32.DLL") используется только под Windows, а для Linux нужно использовать свою библиотеку ("libgrdapi.a",по умолчанию в папке - C:\Program Files (x86)\Guardant\Guardant №\XXXXXXX\Lib\Linux).

Также нужно обратить внимание на то, что данная библиотека ("libgrdapi.a") является статической и при необходимости, для Linux, нужно самостоятельно реализовывать динамическую библиотеку на основе данной статической, а в .Net - обертку ("GuardantDotNetApi.dll") внести соответствующие правки для того чтобы она обращалась к нужной библиотеке а не к "GrdAPI32.DLL".

Re: asp.net DLLNotFound

Здравствуйте!

Для разработки ПО используем MS Visual C#. При работе в среде Windows проблем никаких пока не возникало. Однако, стоит задача использовать защищенное ПО на машинках под Linux, запуская его с помощью Mono.
Не могли бы Вы поподробнее описать следующее:

"Также нужно обратить внимание на то, что данная библиотека ("libgrdapi.a") является статической и при необходимости, для Linux, нужно самостоятельно реализовывать динамическую библиотеку на основе данной статической, а в .Net - обертку ("GuardantDotNetApi.dll") внести соответствующие правки для того чтобы она обращалась к нужной библиотеке а не к "GrdAPI32.DLL"."

Если возможно, примеры, реализации...

Re: asp.net DLLNotFound

Здравствуйте.

mike_su пишет:

Здравствуйте!

Для разработки ПО используем MS Visual C#. При работе в среде Windows проблем никаких пока не возникало. Однако, стоит задача использовать защищенное ПО на машинках под Linux, запуская его с помощью Mono.
Не могли бы Вы поподробнее описать следующее:

"Также нужно обратить внимание на то, что данная библиотека ("libgrdapi.a") является статической и при необходимости, для Linux, нужно самостоятельно реализовывать динамическую библиотеку на основе данной статической, а в .Net - обертку ("GuardantDotNetApi.dll") внести соответствующие правки для того чтобы она обращалась к нужной библиотеке а не к "GrdAPI32.DLL"."

Если возможно, примеры, реализации...

В составе нашего SDK под Linux поставляется только статическая библиотека "libgrdapi.a", на основе которой можно самостоятельно собрать динамическую, например следующим образом:

1) Запустить терминал и перейти в директорию, где находится файл "libgrdapi.a";
2) Выполнить gcc --shared -o libgrdapi.0.so -L. -lgrdapi -lpthread

В тоже время в используемой для .Net обертке "GuardantDotNetApi.dll" по умолчанию вызываются API-функции из виндовой "GrdAPI32.DLL", поэтому для использования ее в Linux нужно внести некоторые правки, чтобы API-функции вызывались из соответствующей Linux-библиотеки.

(2013-06-10 10:44:17 отредактировано grifin85)

Re: asp.net DLLNotFound

Добрый день!
Возникла такая же проблема. попробовал сделать как тут указано не помогло.

Win 7, VS 2010, ASP.NET/MVC 4

UPDATE

Проблема решилась, после того как я поместил библиотеки в папку C:\Windows\system