首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows10 10/iis10 10中无法加载非托管dll的aspnet应用程序

问在windows10 10/iis10 10中无法加载非托管dll的aspnet应用程序
EN

Stack Overflow用户
提问于 2016-02-25 23:07:52
回答 1查看 614关注 0票数 0

我有一对aspnet C#应用程序,它们调用非托管dll (用Delphi编写)。应用程序安装在IIS上。当这两个应用程序中的任何一个试图调用非托管dll时,都会报告以下错误(这两种情况下的错误都是相同的):

“无法加载DLL 'dllName.dll':动态链接库(DLL)初始化例程失败。( HRESULT: 0x8007045A例外)”

下面是有关应用程序的一些详细信息:

  • 首先要说明的是: web应用程序是完全独立的:每个应用程序都分别安装在iis服务器上,每个应用程序都有自己的非托管dll副本。
  • 应用程序安装在iis上,使用microsoft安装项目。
  • VS版本: VS2015
  • 错误仅在windows 10/iis 10中发生。
  • 使用DotNetv4.0用C#编写的aspnet应用程序
  • 一个应用程序是用aspnet webforms框架编写的,另一个是用aspnet MVC4框架编写的。
  • 应用程序是用“任意cpu”选项编译的。
  • 非托管dll是用32位Delphi编译器编译的。
  • 这些应用程序在其他windows版本(验证的ws2008、ws2012、win7、win8、ws2003、winvista)上正确工作。
  • 两个应用程序在调用非托管dll时都会引发相同的错误。
  • 用于运行应用程序的应用程序池已启用“启用32位应用程序”选项(这是必需的,因为使用32位编译器编译的非托管dll )。
  • 已经尝试使用Visual中的“x86”选项编译应用程序。仍然有错误。

关于如何调试这个问题或可能的解决方案,有什么想法吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-12-06 02:12:25

在IIS中运行32位delphi DLL的先决条件是:

在站点AppPOOL中启用32Bits应用程序,就像图像中的bellow。

​

您的c#项目需要编译到x86平台

和我最终解决的问题是在应用程序bin目录中复制borlndmm.dll以及所有其他C#项目all

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35640253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档