非托管 DLL 无法在 ASP.NET 服务器上加载

2023-11-22

这个问题涉及一个 ASP.NET 网站,最初是在 VS 2005 中开发的,现在是在 VS 2008 中开发的。

该网站使用两个非托管外部 DLL,它们不是 .NET,我没有编译它们的源代码,必须按原样使用它们。

该网站在 Visual Studio 中运行良好,可以正确定位和访问这些外部 DLL。但是,当网站发布在网络服务器(运行 IIS6 和 ASP.NET 2.0)而不是开发 PC 上时,它无法找到和访问这些外部 DLL,并且出现以下错误:

Unable to load DLL 'XYZ.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

外部 DLL 以及包装它们的托管 DLL 以及网站的所有其他 DLL 位于网站的 bin 目录中。

搜索这个问题发现许多其他人似乎在从 ASP.NET 网站访问外部非 .NET DLL 时遇到同样的问题,但我还没有找到有效的解决方案。

我已经尝试过以下方法:

  • 运行 DEPENDS 检查依赖关系以确定前三个 都在路径中的System32目录中,最后一个在.NET 2中 框架。
  • 我将这两个DLL及其依赖项放入 System32并重新启动服务器,但网站仍然存在 无法加载这些外部 DLL。
  • 授予 ASPNET、IIS_WPG 和 IUSR(针对该服务器)的完全权限 网站bin目录并重新启动,但网站仍然无法 加载这些外部 DLL。
  • 将外部 DLL 作为现有项目添加到项目中并设置 将其“复制到输出”属性更改为“始终复制”,以及网站 仍然找不到DLL。
  • 还将其“构建操作”属性设置为“嵌入式资源”并 网站仍然找不到 DLL。

任何有关此问题的帮助将不胜感激!


发生这种情况是因为托管 dll 被卷影复制到 .NET Framework 目录下的临时位置。看http://msdn.microsoft.com/en-us/library/ms366723.aspx了解详情。

不幸的是,非托管 dll 不会被复制,并且 ASP.NET 进程在需要加载它们时将无法找到它们。

一种简单的解决方案是将非托管 dll 放在系统路径中的目录中(在命令行中键入“path”以查看计算机上的路径),以便 ASP.NET 进程可以找到它们。 System32目录是always在路径中,因此将非托管 dll 放在那里总是可行的,但我建议将其他文件夹添加到路径中,然后在那里添加 dll 以防止污染 System32 目录。此方法的一大缺点是您必须为应用程序的每个版本重命名非托管 dll,并且您可以快速拥有自己的 dll 地狱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非托管 DLL 无法在 ASP.NET 服务器上加载 的相关文章

  • System.Web.HttpContext 无法识别

    我有一个带有 C Web 应用程序的 ASP NET 我创建的类之一需要使用 HttpContext 根据http msdn microsoft com en us library system web httpcontext v vs 9
  • 在 ASP.NET 中实现“记住我”功能

    实施的最佳方式是什么 remember me ASP NET 网站上的功能 我应该使用自定义cookie还是有更简单的方法 您是否使用内置的AuthenicationASP NET 提供的服务 如果是这样 那就很容易了
  • aspx 页面中的代码是否会在 Web 应用程序中编译?

    首先我要说的是 如果有人知道一篇谈论这个主题的好文章 请指出我 aspx 页面中的代码 位于 标记之间 是否在 Web 应用程序中进行编译 或者是否将其视为标记 您可以在不重新编译解决方案的情况下更改它 编译是否只编译 cs和designe
  • 如何在审计触发器中使用system_user但仍使用连接池?

    我想做以下两件事 在我的数据库表上使用审计触发器来识别哪个用户更新了什么 使用连接池来提高性能 对于 1 我在数据库触发器中使用 system user 来识别进行更改的用户 但这阻止我执行需要通用连接字符串的 2 有没有一种方法可以让我充
  • FormsAuthentication:安全吗?

    Using 表单验证构建成asp net创建一个为经过身份验证的用户创建 cookie 的登录系统非常快速且简单 FormsAuthentication SetAuthCookie uniqueUsername false 与中的一些代码配
  • 测试后 NUnit 回滚

    我对 NUnit 以及一般的自动化测试 还很陌生 我最近做了一些 Ruby On Rails 工作 并注意到在我的测试套件中 当我创建对象 例如新用户 并在套件过程中提交它们时 它们永远不会提交到数据库 以便我可以运行一遍又一遍地测试 不用
  • ASP.NET @Register 与 @Reference

    我正在我的 ASPX 页面上引用用户控件 我想知道这两个页面指令之间有什么区别 参考 http msdn microsoft com en us library w70c655a aspx 登记 http msdn microsoft co
  • 数据库中的 HTML 标签是不好的做法还是好的做法?

    有时我需要格式化来自数据库的特定数据或部分数据 例如 如果我有这样的 desc 存储在数据库中 HTML 4 经过调整 延伸和增强 超出了其最初的范围 为网站带来了高水平的交互性和多媒体 Flash Silverlight 和 Java 等
  • ASP.NET Identity:使用角色授权属性在 Azure 上不起作用

    我刚刚在 Azure 上发布了带有 Identity 和 OWIN 授权的新 ASP NET MVC 网站 前端工作得很好 但后端有问题 我在管理控制器中使用 Authorize 属性来检查用户是否具有访问它所需的角色 如下所示 Autho
  • 如何自定义 DataTable 列的排序

    我需要对数据表列的值进行排序 该列包含字符串 整数或混合文本 例如 数据表列包含如下值 23 18 12 store 23 store a1 1283 25 如果我使用对值进行排序Dataview sort 方法会按此顺序产生 12 128
  • Web UI 中的 .Result 出现死锁

    我正在阅读以下主题http blog stephencleary com 2012 07 dont block on async code html http blog stephencleary com 2012 07 dont bloc
  • 为什么当输入很大时,asp.net 找不到合适的 apicontroller?

    我有一个功能可以立即保存我的实体列表 public void Save IEnumerable
  • 使用 Razor View Engine 将内容从部分视图 ASP.NET MVC 3 注入特定部分

    我在我的中定义了此部分 Layout cshtml RenderSection Scripts false 我可以轻松地从视图中使用它 section Scripts Stuff comes here 我正在努力解决的是如何从部分视图中注入
  • 如何将整个 POST 数据转储到 ASP.NET 中的文件中

    我目前正在尝试将一个应用程序从 asp net 移植到 php 但是我遇到了困难 需要有人帮忙 我需要将通过 POST 收到的 aspx 中的所有数据转储到文件中 但我不知道如何执行此操作 有任何想法吗 您可以使用Request 对象的In
  • 从 ApiController 中的 json 序列化中排除属性

    我试图在 Web ApiControllers 中排除属性被序列化为 JSON 我已经验证了以下 2 个场景的工作原理 我已在我希望排除的属性中包含以下属性 System Web Script Serialization ScriptIgn
  • 如何调用 window.alert("message");来自 C#?

    根据某些条件 我有自己的异常 并且希望在控制进入此 catch 块时发出警报 catch ApplicationException ex want to call window alert function here 你是说消息框吗 Mes
  • 以编程方式确定是否安装了 COM 库 (.DLL)

    C 中是否有一种编程方式来确定是否已安装特定的 COM DLL 或者这是扫描注册表中的 classId 的问题 我通常所做的 如果我再次需要的话也会这样做 是尝试创建一个您知道位于 COM 库中的类的对象实例 通过 ProgID 或 GUI
  • IIS6 中是否有与 .htaccess 等效的基于文件的文件? (不是配置/插件)

    有很多similar对此有疑问 但它们似乎都涉及配置权限或安装插件 我正在寻找一种 愚蠢 的解决方案 即允许从源代码控制部署代码并自动访问某些被阻止的路径 而无需任何人配置服务器 我只需要目录和文件阻止 htaccess 没有其他功能 需要
  • ASP.NET MVC 3 中嵌入的 PHP 站点的 IgnoreRoute

    我有一个带有嵌入式 WordPress 博客的 MVC 3 网站 以下所有 url 均通过 MVC 定向 www mysite com www mysite com aboutus www mysite com contactus 我还有一
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐

  • grunt-contrib-jasmine 和 PhantomJS 安全性

    我收到错误 XMLHttpRequest 无法加载https my api domain com Access Control Allow Origin 不允许 Origin file 当我尝试运行一些通过 grunt contrib ja
  • 使用关联数组的 D3 日历视图

    我想创建一个日历视图 如下例所示 http bl ocks org 4063318 其实我正在尝试修改它 我有一个像这样的关联数组 AdminCourt 2012 10 02 2 2012 10 09 2 2012 10 16 1 Cons
  • Java 无法使用正则表达式 \s,显示:无效的转义序列

    我想用 替换字符串中的所有空白字符 用 ss 替换所有 它对于 效果很好 但不知何故 eclipse 不允许我使用 s 作为空白 我尝试了 t 但它也不起作用 我收到以下错误 无效的转义序列 有效的转义序列 是 b t n f r 这是我的
  • 将元素值反序列化为字符串,尽管它包含混合内容

    假设这样的 XML
  • 将数据框日期列的 dd-mm-yyyy 日期格式更改为 yyyy-mm-dd [重复]

    这个问题在这里已经有答案了 我有这个熊猫数据框df Name Date Score Score2 Joe 26 12 2007 53 45 53 4500 Joe 27 12 2007 52 38 52 7399 Joe 28 12 200
  • 单元测试控制台 C# 应用程序的最佳方法

    我有一个简单的控制台应用程序 它是用一个普通的 main 来触发的 整个程序都在 main 中 它使用命令行解析器库 然后 我在解决方案中有第二个项目 其中包含应用程序的单元测试 但我似乎没有找到从测试中启动主程序进程的好方法 我当前实际启
  • 如何获取UIImage的dpi/ppi?

    iOS 中如何获取图像的 dpi ppi 也许原始图像文件包含这些信息 所以我可以从 NSData 获取 ppi dpi 谢谢 要从 NSData 中存储的图像中提取 DPI 请在项目中包含 Apple 的 ImageIO 框架并使用以下命
  • ASP.NET MVC3:通过控制器加载图像

    我尝试使用来自的答案here 但没有成功 我有以下代码 public ActionResult ShowImage using FileStream stream new FileStream Path Combine Server Map
  • 在 Jupyter Notebook 中使用 Tkinter

    我刚刚开始使用 Tkinter 并尝试在 python 中创建一个简单的弹出框 我从网站上复制粘贴了一段简单的代码 from Tkinter import master Tk Label master text First Name gri
  • 如何在kafka中创建新的消费者组

    我按照快速入门指南上的说明在本地运行 kafkahere 然后我在中定义了我的消费者组配置config consumer properties这样我的消费者就可以从定义的中选择消息group id 运行以下命令 bin kafka cons
  • 在 Twitter Bootstrap 的 ScrollSpy 中,我到底可以在哪里放置 data-spy="scroll" ?

    文档上说得很清楚 只需将 data spy scroll 添加到您想要监视的元素 最典型的是主体 但看来只有戴在身上才能发挥作用 当我将其放入我想要监视的任何其他元素时 导航的最后一个元素将被选中 Here它在身体上 并且有效 并且this
  • 默认打印 XSLT 1.0 文本节点

    我看过XSL xsl 模板匹配 但那里没有提到触发我的问题的匹配模式 我有一个相当复杂的 XML 结构
  • 使用openGL截屏并保存为png

    我正在尝试截取全屏屏幕截图并将其另存为 png 格式 我找到了一个代码here并对其进行了一些修改 对于屏幕截图 我使用 openGL 和 Glut 并使用 c 的 gd 库以 png 格式保存 我得到的只是一张黑色的 png 我不明白为什
  • Google Chrome 扩展开发中的 ES6 模块(意外标记)

    是否可以在 Google Chrome 扩展开发中使用 ES6 模块 我收到 意外的令牌导出 或 意外的令牌导入 好吧 您可以在 Chrome 的兼容性表中看到 并非所有内容都可用 Chrome 擅长在每个版本中添加 ES6 功能 但目前不
  • datatrigger 绑定到 viewmodel 属性

    我正在尝试创建一个简单的样式数据触发器 该触发器从视图模型属性中提取其绑定值 如下所示
  • Android - 从密钥库导出单个密钥/别名

    我有一个密钥库 JKS 其中包含不同应用程序的许多密钥条目 别名 现在 一个应用程序将移至另一位开发人员 我想为他导出 提取单个密钥 别名 gt keytool exe list keystore Keystorefile Keystore
  • 在 Linq to SQL 中设置外键

    众所周知 如果实体已加载 则无法直接在 Linq to SQL 中设置外键 ID 但是 您可以通过外键查找实体 然后使用实体关系将实体设置为外部实体 为了简单起见 我在这里取出了枚举并使用整数值 即 如果我有一个已加载的约会实体和关联的 A
  • 对 pthread_create 的未定义引用

    我有这个代码 include
  • Android 中 raw 和 asset 文件夹的存储限制

    我想将一些视频 音频文件存储在我的应用程序的原始文件夹中 我不知道 raw 和 asset 文件夹的存储限制 谁能告诉我可以在原始文件夹和资产文件夹中存储多少数据 另外 如果我将大量数据存储在这些文件夹中 是否会影响执行速度或从市场下载的应
  • 非托管 DLL 无法在 ASP.NET 服务器上加载

    这个问题涉及一个 ASP NET 网站 最初是在 VS 2005 中开发的 现在是在 VS 2008 中开发的 该网站使用两个非托管外部 DLL 它们不是 NET 我没有编译它们的源代码 必须按原样使用它们 该网站在 Visual Stud