ADO.NET 2.0 Interbase 驱动程序和 ASP.NET 错误的程序集引用?

2023-12-21

我正在寻找超过 12 个小时来找到针对这个特定问题的正确解决方案...... 我有一个利用 Interbase XE 数据库的 ASP MVC (.NET Framework 4.5) 应用程序。

只要我在自己的机器上本地运行就可以正常工作。但是,当我尝试将站点发布到远程服务器时,我收到一些汇编错误......

无法加载文件或程序集“Borland.Data.DbxCommonDriver” 版本 = 16.0.0.0,文化 = 中性,PublicKeyToken = a91a7c5705831a4f' 或 它的依赖项之一。找到的程序集的清单定义 与装配参考不匹配。 (HRESULT 的异常: 0x80131040)

除了查看互联网上发布的所有可能的解决方案(不幸的是,这对我没有帮助)。我还在 Reflector 中打开了 Borland.Data.DbxCommonDriver.dll。

令我惊讶的是,Reflector 指出我拥有的版本(本地和远程!!)具有 PublicKeyToken=91d62ebb5b0d1b1b代替a91a7c5705831a4f,所有其他设置都相同(包括版本号 16.0.0.0)。

所以我做的下一件事是追踪服务器上所有可能的 .dll 文件。我卸载了 ADO.NET 2.0 驱动程序,并删除了所有现有的 dll。 一旦服务器上的任何 DLL 被释放,我就重新启动它并重新安装 ADO.NET 2.0 for Interbase 驱动程序。

然而,我立即得到了同样的汇编错误。现在,我有点疲惫的想法......

  1. 显示的错误如何显示不同的 PublicKeyToken?
  2. 我是否需要将内容放入 web.config 文件中(以强制使用程序集等)?
  3. 如何确定错误的 PublicKeyToken 是从哪里引用的?

NOTES:

服务器机器是 64 位机器。这意味着我已将 ApplicationPool 设置为接受 32 位应用程序,以支持 Embarcadero 的 ADO.NET 2.0 驱动程序。

我使用 MS Visual Studio 2012 Pro 开发了我的 Web 应用程序。

资源:

https://forums.embarcadero.com/message.jspa?messageID=528498 https://forums.embarcadero.com/message.jspa?messageID=528498 http://docs.embarcadero.com/products/interbase/IBXEUpdate5/Readme.html http://docs.embarcadero.com/products/interbase/IBXEUpdate5/Readme.html


几周后,我终于解决了这个特殊问题。 事实证明这是一个简单的解决方案,因为简单的解决方案通常是最难找到的......

事实证明,Embarcadero RAD Studio 也在本地安装了 Borland.Data.DbxCommonDriver.dll、Borland.Data.AdoDBXClient.dll 和 Borland.Data.DBXInterBaseDriver.dll。这些 dll 的版本号与 Embarcadero 提供的 ADO.NET 2.0 驱动程序提供的 DLL 的版本号不同。我通过在 Windows 注册表中进行搜索找到了这一点。因此,如果您面临同样的问题,请找出注册表中注册的驱动程序,以找到它们的确切位置......

删除指向 ADO.NET 2.0 驱动程序的引用(通常安装在 C:\Embarcadero\Interbase_ADO.NET)并将引用设置为位于 Embarcadero RAD Studio 安装文件夹中的 DLL 后,一切仍在本地运行。

网站发布后,还是不行。因此,我删除了 machine.config 文件中的所有引用,并更新了 Web 应用程序的 web.config 文件。最后,我将文件“dbxconnections.ini”和“dbxdrivers.ini”与我的网络应用程序一起部署(在这篇 Embarcadero 知识库文章 http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/devnet/deployingdbnetapps_xml.html).

清理服务器后,我再次发布了网络应用程序,它工作了! 然而遗憾的是,这些 Borland.Data.DbxXXX 驱动程序有如此多不同的版本,要真正找出问题所在可能会变得很棘手。

尽管我仍然怀疑没有多少程序员面临这个特定问题,但我仍然认为发布我的解决方案可能会很方便。我希望它能有所帮助:)

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

ADO.NET 2.0 Interbase 驱动程序和 ASP.NET 错误的程序集引用? 的相关文章

  • PostgreSQL 错误 42501:架构权限被拒绝

    我正在 ASP NET 中构建一个用户注册系统 使用 PostgreSQL 数据库来维护用户信息 作为注册过程的一部分 用户会收到一条确认消息 他们必须单击其中的链接来验证其电子邮件地址 然后 他们将进入一个可以创建密码的页面 一旦用户提供
  • ASP.Net 中的不同身份验证方式

    我正在为我的公司开发一个网站 该网站可以在我们的内部网络和互联网上访问 有人问我一些对我来说似乎不可能的问题 但我想在真正说之前问这个问题 我们公司有两种类型的用户 一种是实际在 Active Directory 中注册的用户 等等 拥有
  • 使用内存中的单元测试 .ToListAsync()

    下面是由于内存数据库集不支持 ToListAsync 而在 ShouldNotThrow 上失败的测试 我没有方便的确切措辞 但你明白了 如果它很重要 我正在尝试模拟实体框架版本提供的数据库集 6 1 3 TestFixture publi
  • 检测 ASP.NET MVC 上的会话过期

    我构建了一个购物车 它使用会话状态在用户浏览商店时保留购物车数据 我遇到一个问题 如果我在购物车的第 1 步上长时间打开浏览器窗口 然后按 转到第 2 步 我的操作会引发错误 因为第 2 步操作假定会话尚未过期并且ShopCart 对象处于
  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • 用户控制事件处理程序在回发时丢失

    我有一个名为 LeftMenu 的菜单用户控件 它有一个链接项的项目符号列表 它在 ascx 页面上是这样的
  • Log4net不会将日志写入日志文件

    我使用 Log4net 创建了一个简单的场景 但我的日志附加程序似乎不起作用 因为消息没有添加到日志文件中 我将以下内容添加到 web config 文件中
  • 在 IIS 7 托管环境中获取 URL 路由让我绞尽脑汁:ASP.NET

    我正在尝试使用 ASP NET URL 路由来实现系统 Web 路由 这似乎在我的本地主机上工作正常 但是当我上线时 我收到 IIS 7 的 404 错误 找不到文件 仅供参考 托管使用 Windows Server 2008 IIS7 我
  • C# asp.net中WebForm中Winform的Textbox.KeyDown的交替事件是什么?

    在 WinForms 应用程序中 我可以有一个textbox1 keydown事件 但我想在 WebForm ASP NET 中实现同样的事情 那么我该怎么做呢 我需要从数据库中检索有关此事件的数据 您可以使用 onkeydown 事件 然
  • 单个方法(即扩展方法)之间的调用不明确

    我有一个扩展方法 例如 public static class Extension public static string GetTLD this string str var host new System Uri str Host i
  • ASP.NET DropDownList SelectedValue 属性未立即设置

    我有一个 ASP NET Web 表单 在其中使用 DropDownList 控件来允许用户选择一个项目并查看相关结果 由于某种原因 当我设置 DropDownList 的 SelectedValue 属性时 它设置的值不会立即可用 这是我
  • 使用 SSRS ASP.NET ReportViewer 和 Web 服务进行 Windows 身份验证

    我目前在使用 SSRS 时遇到一些问题 我有一个使用 Windows 身份验证的 ASP NET 网站 这工作正常 我知道网站当前用户是当前登录的用户 此站点上有一个 Web 表单 ReportViewer 当我不设置凭据时 这工作正常 然
  • 带有整数字符串的枚举

    我有一个公众号enum像这样 public enum occupancyTimeline TwelveMonths FourteenMonths SixteenMonths EighteenMonths 我将用它来DropDown菜单如下
  • 检查缓存后 System.Web.HttpContext.Current 自身为空

    今天我遇到了一个奇怪的问题 这对我来说毫无意义 总结如下 在方法内部 我检查缓存的项目 如下所示 private async Task
  • 会话过期时将部分视图重定向到登录页面

    是否有一种简单的方法可以在会话过期后将整个页面 而不仅仅是部分视图 重定向到登录页面 我已尝试以下解决方案 但无法使其工作 Net MVC Partial View 会话过期时加载登录页面 https stackoverflow com q
  • 如何对ArrayList(int)进行排序

    我怎样才能排序Arraylist按升序和降序排列 例子 ArrayList list new ArrayList list Add 2 list Add 8 list Add 0 list Add 1 如何按升序和降序对上面的列表进行排序
  • aspx 页面中的代码是否会在 Web 应用程序中编译?

    首先我要说的是 如果有人知道一篇谈论这个主题的好文章 请指出我 aspx 页面中的代码 位于 标记之间 是否在 Web 应用程序中进行编译 或者是否将其视为标记 您可以在不重新编译解决方案的情况下更改它 编译是否只编译 cs和designe
  • Response.Write - Internet Explorer 中的文件名编码错误

    我使用以下代码将文件从服务器发送到客户端 Response AppendHeader content disposition attachment filename FileName Response ContentType MimeTyp
  • 如何在审计触发器中使用system_user但仍使用连接池?

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

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

随机推荐

  • 如何正确使用批处理 Tensorflow 数据集?

    我是 Tensorflow 和深度学习的新手 并且在 Dataset 类上遇到了困难 我尝试了很多方法 但找不到好的解决方案 我正在尝试什么 我有大量图像 500k 来训练我的 DNN 这是一个去噪自动编码器 所以我每个图像都有一对 我正在
  • ActionBar 菜单项中的 orderInCategory 是什么以及为什么它用于..?

    我正在处理操作菜单项及其溢出项 这是我的main menu xml menu menu
  • 如何让 Maven 构建更快?

    我有一个多模块java项目 Maven 大约需要 40 秒来构建它 我也尝试过使用多线程构建 Maven 方法是指定 T 和 C 参数来表示不使用任何线程和核心 但我还没有看到我的构建的墙时间有任何显着的改进 我正在使用 maven 3 2
  • 如何防止每次运行整个笔记本时运行“pip install ...”?

    我运行的大多数 python 笔记本在初始运行时往往需要一些设置 使用 pip install 每次运行笔记本时都执行设置代码效率很低 因此我宁愿避免这种情况 另外 我不想将设置代码移动到不同的笔记本 因为通常它只是几行代码 我的解决方案是
  • 在 Python 中将 ASCII 代码列表转换为字符串(字节数组)

    我有一个整数 ASCII 值列表 需要将其转换为字符串 二进制 以用作加密操作的密钥 我正在用python重新实现java加密代码 这是可行的 假设密钥是 8 字节 key struct pack BBBBBBBB 17 24 121 1
  • 如何在Linux上列出非空子目录?

    我有一个包含多个子目录的目录 我只想列出那些至少包含一个文件的子目录 我怎样才能做到这一点 find mindepth 1 maxdepth 1 not empty type d 将为您提供所有非空目录 如果您想排除仅包含其他目录 但不包含
  • 抽象类返回

    抱歉 如果这是一件小事 我创建了一个带有一些子类的抽象类 控制器类创建请求子类类型的抽象类类型的对象 并返回实现的抽象类 子类具有特定的属性 我无法访问返回对象的这些属性 因为这是抽象类默认类型 所以我尝试进行转换 但这会出现错误 item
  • 在 Heroku 上运行 Rails 单元测试

    我已经将一个应用程序部署到 Heroku 一切正常 问题是我无法远程运行单元测试 我试过了 heroku rake test units and heroku rake db test prepare 但对于两者 我都得到了大量的堆栈跟踪
  • 重命名远程分支

    我创建了一个本地分支 X 在某个时候我将其推送到远程服务器 来源 git push origin X 我意识到将分支命名为 X 并希望将其命名为 Y 是一个坏主意 问题是我已经将分支推送到存储库 从服务器中删除它并以这样的新名称推送它是否安
  • 在 Marshmallow 上不会调用 Spannable String 的绘制方法

    我的应用程序中有一个日历 日历是一个带有每个日期按钮的 GridView 我尝试用下面的课程给它们上色 public class CircleSpan extends ReplacementSpan private final float
  • 在 ActionBar 中获取 Switch 实例

    我设法在操作栏内放置了一个开关 如 Wi Fi 设置中一样 我把以下内容主菜单 xml menu 文件夹内的文件 menu menu
  • 保存和重用 SPARQL 查询的结果

    我正在使用 Jena 通过 Eclipse 查询 owl 文件 我想做一些连续的查询 每个新查询都将使用前一个查询的结果 我想在不同的 SELECT 中执行此操作 并每次保存查询结果 以便在新查询中再次使用它 我不想自己插入变量的值 而是从
  • JDialog 取消按钮

    如何在 Swing 中设置取消按钮JDialog 即如果用户按下键盘上的 取消 键 其操作会自动执行的按钮 通过以下方式向对方提供默认操作setDefaultButton对话框根窗格的方法 如果这有帮助 我正在寻找 WinForms 的类似
  • d3js在地图上强制布局

    我正在尝试在地图上放置一个力布局节点系统 某些节点在我使用的 json 文件中具有 lon 和 lat 值 其他节点只需连接 无需地理参考 我想将具有 lon 和 lat 值的节点放置在适当的位置 而其他节点只是为了连接 我发现了我遵循的这
  • Sqlalchemy 无法在事务块内运行

    我正在尝试从 python 脚本在 redshift 中运行查询 但出现错误 sqlalchemy exc InternalError psycopg2 InternalError ALTER EXTERNAL TABLE cannot r
  • 使用 childRouter 时的 Durandal 路由器/生命周期事件

    在使用 Durandal 构建的单页应用程序中 我有一个设置视图 其中包含不同的部分 我使用 childRouter 来解析不同的部分 在此应用程序中 许多代码挂钩到 Durandal 使用的组合生命周期事件 例如 这个自定义绑定 ko b
  • 如何引发 Shutil.SameFileError?

    我正在努力提高一个shutil SameFileError用于单元测试但未能成功 问题是没有引发错误 import unittest class TestErrors unittest TestCase Unit testing of er
  • 如果未通过单元测试,如何拒绝来自本地存储库的原始存储库的 git 推送?

    我有一个拥有完全访问权限的原始存储库 并且我不希望将代码成功推送到此存储库 除非正在推送的代码成功通过了我的单元测试 我看到了许多 git hooks update 脚本的示例 它们似乎分为几个不适合我的用例的类别 例如 在 http gi
  • 检测 Windows Phone (7.1) 中的捏合缩放

    根据 Silverlight 工具包 手势侦听器将被视为已弃用 对于所有 Windows Phone 7 1 SDK 开发 应将手势侦听器视为已弃用 并且没有其他可用的建议 在没有手势侦听器的情况下 在 WP7 中检测捏合 缩放手势的最佳方
  • ADO.NET 2.0 Interbase 驱动程序和 ASP.NET 错误的程序集引用?

    我正在寻找超过 12 个小时来找到针对这个特定问题的正确解决方案 我有一个利用 Interbase XE 数据库的 ASP MVC NET Framework 4 5 应用程序 只要我在自己的机器上本地运行就可以正常工作 但是 当我尝试将站