Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有MS SQL Server Compact 3.5 SP2的LINQ2SQL:BadImageFormatException_C#_Linq_Linq To Sql_Sql Server Ce - Fatal编程技术网

C# 带有MS SQL Server Compact 3.5 SP2的LINQ2SQL:BadImageFormatException

C# 带有MS SQL Server Compact 3.5 SP2的LINQ2SQL:BadImageFormatException,c#,linq,linq-to-sql,sql-server-ce,C#,Linq,Linq To Sql,Sql Server Ce,我在Ling2SQL中使用.sdf数据库文件时遇到问题。我正在.NET3.5上使用VS2010。到目前为止我所做的: 创建sdf文件并添加表和数据(位于项目文件夹中) 已将SQLMetal.exe和SQLMetal.exe.config复制到项目文件夹,并使用以下命令调用它: SQLMetal.exe database.sdf /dbml:DataOffline.dbml /namespace:CTcalc /pluralize 将dbml文件添加到项目中(已创建designer.cs) 将

我在Ling2SQL中使用.sdf数据库文件时遇到问题。我正在.NET3.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)

  • 使用连接:

    using (DataOfflineDataContext dc = new DataOfflineDataContext())
                lProtFunc = (from c in dc.ProtectionFunctions select c).ToList();
    
  • 调试项目时,我收到一个错误,错误为HRESULT:0x8007000B


    我不知道如何修理它。有什么帮助吗?

    您必须在x64系统上同时安装x86和x64运行时-

    我的错误是在我的项目中使用了错误的.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
    

    现在它开始工作了

    BadImageFormatException通常意味着x64与x86程序集之间存在差异。您的机器的体系结构是什么?你在IIS中托管吗?
    Program Files\Microsoft SQL Server Compact Edition\v3.5\Private\System.Data.SqlServerCe.dll