在我的 asp.net 项目中,我需要引用第三方遗留 C++ 组件。该组件通常安装在本地计算机上,并且 Web 应用程序在我的本地主机上运行良好 - 事实上,我的 Web 应用程序只使用这个大组件的一个 dll。现在,我想将应用程序部署到 azure 网站。正如我所知道的,我必须使用 azure web 角色在启动脚本中运行任务。但是,我尝试了很多方法,但似乎没有任何效果。我得到了同样的错误:
无法加载文件或程序集“xxx.Foundation.IO.DLL”或其依赖项之一。指定的模块无法找到。
使用依赖walker,我觉得foundation.io.dll 只有两个自定义依赖项:fileio.dll和fregistry.dll。所有其他文件似乎都是系统文件,可能来自 vcredist_x86.exe。但是,我尝试将这些文件部署到 azure 云服务,但问题没有解决。
我在这里的共享服务中上传了这三个文件。我想知道有人可以看看吗?非常感谢您的时间。
顺便说一句,我的启动脚本如下所示:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true
vcredist_x86.exe /q /norestart
exit /b 0
fileio.dll 和 fregistry.dll、vcredist_x86.exe 以及此启动脚本使用“始终复制”包含在 asp.net 项目的 bin 文件夹中。