У меня есть небольшой ASP.NET WebAPI-проект, использующий ActiveX-компонент (без пользовательского интерфейса, просто простая функциональность).
Поскольку я хотел разместить эту вещь в Azure, я был совершенно уверен, что яне сможет зарегистрировать ActiveX-DLL в базовой ОС, поэтому без регистрации COM используется механизм SXS-manifest, описанный здесь: https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/ms973913(v=msdn.10) и здесь http://blog.functionalfun.net/2012/09/a-quick-guide-to-registration-free-com.html.
Это все работает как чудо на моем локальном IIS, но в Azure кажется, что я не могу вызвать нативный метод CreateActCtxW из kernel32.dll через Dll-Import, что я должен сделать (среди прочего), чтобы проинформировать системузагрузить мой app-манифест.Вызов завершается успешно, но выдает -1.
Marshal.GetLastWin32Error говорит: «Не удалось запустить приложение, поскольку его параллельная конфигурация неверна. Пожалуйста, просмотрите журнал событий приложения или используйте командуУтилита line sxstrace.exe для более подробной информации "
Я попытался запустить sxstrace в базовой ОС, что дает мне" Отказано в доступе ".
Итак, мой вопрос: может ли ActiveX-DLLбыть зарегистрированным в базовой ОС Azure WebApp или , есть ли возможность заставить работать без COM-механизм COM?