2012-02-10 2 views
0

У меня возникли проблемы с использованием файла базы данных .sdf с Ling2SQL. Я работаю с VS2010 на .NET 3.5. То, что я сделал до сих пор:LINQ2SQL с MS SQL Server Compact 3.5 SP2: 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? –

ответ

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 

Сейчас он работает!

Смежные вопросы