2012-02-10 79 views
0

我在使用帶有Ling2SQL的.sdf數據庫文件時遇到問題。我在.NET 3.5上使用VS2010。什麼到目前爲止,我已經做了:帶有MS SQL Server Compact 3.5 SP2的LINQ2SQL:BadImageFormatException

  1. 創建SDF文件,並添加表和數據(位於項目文件夾中)
  2. 複製SQLMetal.exe和SqlMetal.exe.config到項目文件夾,並把它稱爲:

    SQLMetal.exe database.sdf /dbml:DataOffline.dbml /namespace:CTcalc /pluralize 
    
  3. 新增的dbml文件到項目(創建designer.cs)

  4. 添加新的方法來designer.cs

    public DataOfflineDataContext() : 
         base(global::CTcalc.Properties.Settings.Default.databaseOfflineConnectionString, mappingSource) 
    { 
        OnCreated(); 
    } 
    
  5. 添加的connectionString來設置文件(類型:的connectionString)

    Data Source=|DataDirectory|\database.sdf 
    
  6. 使用連接:

    using (DataOfflineDataContext dc = new DataOfflineDataContext()) 
          lProtFunc = (from c in dc.ProtectionFunctions select c).ToList(); 
    

調試時我的項目,我得到一個BadImageFormatException錯誤HRESULT:0x8007000B

我不知道如何解決它。任何幫助?

+0

BadImageFormatException通常表示x64與x86程序集的區別。你機器的架構是什麼?你在IIS中託管? – 2012-02-10 11:00:24

回答

0

是我的錯,用我的項目中錯誤的.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 

現在是工作!

相關問題