LINQ2SQL with MS SQL Server Compact 3.5 SP2: BadImageFormatE
本文关键字:SP2 BadImageFormatE Compact with MS SQL Server LINQ2SQL | 更新日期: 2023-09-27 18:24:05
我在使用带有Ling2SQL的.sdf数据库文件时遇到问题。我正在.NET 3.5上使用VS2010。到目前为止我所做的:
- 创建了sdf文件并添加了表和数据(位于项目文件夹中)
-
将SQLMetal.exe和SQLMetal.exe.config复制到项目文件夹,并使用调用它
SQLMetal.exe database.sdf /dbml:DataOffline.dbml /namespace:CTcalc /pluralize
-
将dbml文件添加到项目中(创建了designer.cs)
-
向designer.cs 添加新方法
public DataOfflineDataContext() : base(global::CTcalc.Properties.Settings.Default.databaseOfflineConnectionString, mappingSource) { OnCreated(); }
-
将connectionString添加到设置文件(类型:connectionString)
Data Source=|DataDirectory|'database.sdf
-
使用连接:
using (DataOfflineDataContext dc = new DataOfflineDataContext()) lProtFunc = (from c in dc.ProtectionFunctions select c).ToList();
调试我的项目时,我收到一个BadImageFormatException错误,HRESULT:0x8007000B
我不知道怎么修。有什么帮助吗?
您必须在x64系统上同时安装x86和x64运行时-http://www.microsoft.com/download/en/details.aspx?id=5783
我的错误是在项目中使用了错误的.dll。
我使用
Program Files'Microsoft SQL Server Compact Edition'v3.5'Desktop'System.Data.SqlServerCe.dll
而不是
Program Files'Microsoft SQL Server Compact Edition'v3.5'Private'System.Data.SqlServerCe.dll
现在它开始工作了!