我有一个使用ActiveX组件(没有UI的普通功能)的ASP.NET WebAPI项目。
当我想在Azure上托管东西时,我非常确定,我将无法在基础OS上注册ActiveX-DLL,因此通过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上似乎无法通过Dll-Import从kernel32.dll调用本机方法CreateActCtxW,这是我必须要做的(除其他事项外),以告知系统加载我的应用清单。呼叫成功,但发出-1。
Marshal.GetLastWin32Error说:“该应用程序无法启动,因为其并行配置不正确。请参阅应用程序事件日志或使用命令行sxstrace.exe工具获取更多详细信息”
我试图在基础操作系统上运行sxstrace,这给了我一个“访问被拒绝”的信息。
所以我的问题是:是否可以在Azure WebApp的基础操作系统上注册ActiveX-DLL ,或者是否可以使免注册COM机制正常工作?