Firebird:尝试加载格式不正确的程序(HRESULT异常:0x8007000B)

时间:2018-01-24 19:42:28

标签: c# visual-studio-2010 dll firebird firebird-embedded

系统类型:64位操作系统,基于x64的处理器

前端:MS Visual Studio 2010

后端:Firebird数据库v2.5.0 64位服务器类型:嵌入式(注意:我的系统中也存在Standalone Server v2.5.0)          Firebird .NET Provider v2.5.0

注意:我有一些特殊原因可以使用这种旧版本的VS& Firebird数据库

项目平台目标:x64

运行我的应用程序时,出现错误:

  

尝试加载格式不正确的程序(HRESULT异常:0x8007000B)

在添加连接时生成上述错误 - > TableAdapter配置向导和服务器类型是嵌入式的,但没有错误 当服务器类型为Standalone时。

我的app.config看起来像:

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="dbConFirebirdSQL" connectionString="User=SYSDBA;Password=masterkey;Database=INSMANEMBED.fdb;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=1;"/>
  </connectionStrings>
  <system.data>
    <DbProviderFactories>
      <remove invariant="FirebirdSql.Data.FirebirdClient"/>
      <add name="FirebirdSql.Data.FirebirdClient" invariant="FirebirdSql.Data.FirebirdClient" description="Firebird Data Provider for .NET" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Culture=neutral, PublicKeyToken=3750abcc3150b00c" />
    </DbProviderFactories>
  </system.data>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

bin \ debug中的某些文件是

  • fbembed.dll
  • firebird.conf
  • firebird.msg
  • ib_util.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
  • msvcp80.dll
  • MSVCR80.DLL
  • Microsoft.VC80.CRT.manifest
  • 国际

我搜索了互联网,他们说如果DLL的位数不同,可能会出现这样的错误。所以使用命令 dumpbin /headers C:\path\name.dll,我开始检查哪个DLL是32位/ 64位。最后我发现了有问题的DLL。 FirebirdSql.Data.FirebirdClient是32位,其余的是64位。

现在我的问题是我再次在互联网上搜索了64位版本的FirebirdSql.Data.FirebirdClient,但却找不到。全部是 32位。

请告知我现在应该做什么。

0 个答案:

没有答案