系统类型: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中的某些文件是
我搜索了互联网,他们说如果DLL的位数不同,可能会出现这样的错误。所以使用命令
dumpbin /headers C:\path\name.dll
,我开始检查哪个DLL是32位/ 64位。最后我发现了有问题的DLL。 FirebirdSql.Data.FirebirdClient是32位,其余的是64位。
现在我的问题是我再次在互联网上搜索了64位版本的FirebirdSql.Data.FirebirdClient,但却找不到。全部是 32位。
请告知我现在应该做什么。