Azure WebApp с C ++ DLL не работает

Я создал Azure Web в C #, который ссылается на собственную динамическую библиотеку C ++. На локальном хосте приложение работает хорошо.

Но когда я развернул веб-приложение в Cloud Azure, оно не работало. Не понимаю, как идти вперед. пожалуйста помоги.

При сбросе вызова API появляется следующее сообщение: «Произошла ошибка».

0

Решение

При сбросе вызова API появляется следующее сообщение: «Произошла ошибка».

Чтобы получить подробную информацию об ошибке из ASP.NET REST API, нам нужно установить значение свойства IncludeErrorDetailPolicy как «Всегда» в WebApiConfig.cs.

config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

Если исключение, которое вы получили после изменения, IncludeErrorDetailPolicy: DllNotFoundException, убедитесь, что собственная библиотека DLL успешно развернута в папке bin Azure Web App. По умолчанию собственный файл DLL не будет развернут с вашей публикацией VS. Вам необходимо загрузить этот файл в папку bin вашего веб-приложения, используя FTP или сайт Kudu.

Если исключение, которое вы получили после изменения, IncludeErrorDetailPolicy: BadImageFormatException, вам нужно проверить платформу вашего веб-приложения и вашу нативную DLL.

введите описание изображения здесь

Если платформа вашего веб-приложения является 32-разрядной, убедитесь, что исходная библиотека DLL была предназначена для сборки Win32 или All Platforms. Если вы собираете DLL на 64-битной машине. Все платформы обязательны.

введите описание изображения здесь

Кроме того, веб-приложение Azure работает в безопасной среде, которая называется песочницей. Песочница обычно предназначена для ограничения доступа к общим компонентам Windows. Для получения подробной информации, ссылка ниже для вашей справки.

Общие ограничения песочницы веб-приложения Azure

Если ваша нативная DLL использует один из ограниченных API. Вызов вашей родной DLL также не удастся. Чтобы увидеть все зависимые модули вашей родной DLL, вы можете скачать и использовать Зависимость Уокер.

1

Другие решения

Других решений пока нет …