代码之家  ›  专栏  ›  技术社区  ›  Dathan

无法加载文件或程序集

  •  10
  • Dathan  · 技术社区  · 16 年前

    我正在开发一个使用 SqlServerCe 具有 NHibernate . 从我的驱动程序,如果我添加 System.Data.SqlServerCe 作为一个引用程序集,我可以对数据库创建和运行查询。当试图使用 ,但我得到以下例外情况:

    mscorlib.dll中发生“System.IO.FileNotFoundException”类型的第一次意外异常

    我追踪到了一个对 Assembly.Load("System.Data.SqlServerCe") ,这似乎应该有效。这个 System.Data.SqlServerCe 程序集位于GAC中(我还尝试将其作为本地引用添加到 CopyLocal=true System.Transactions 引用(我还尝试将其添加为本地引用,但同样没有效果),因此加载该程序集可能是问题所在,而不是问题所在 System.Data.SqlServerCe assembly .

    这是一个普遍的问题吗?可能是系统配置错误?

    3 回复  |  直到 5 年前
        1
  •  8
  •   Dathan    16 年前

    显然,这可以通过添加a<合格装配>元素添加到app.config文件中。添加以下内容可使我的应用程序顺利运行:

    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <qualifyAssembly partialName="System.Data.SqlServerCe" fullName="System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
        </assemblyBinding>
    </runtime>
    

    谢谢

        2
  •  2
  •   rob    12 年前

    然而,按照设计,SQLServerCE只是一个单独的DLL,它可能与您的产品一起提供。
    这意味着您可以设置 Copy local True System.Data.SqlServerCe ,你就完了。

        3
  •  1
  •   Sachin    13 年前

    我也有类似的问题。我犯的错误是我试图执行../obj/x86/Release中的.exe,而我应该执行../bin/Release中的.exe。(我是C#的新手)。