Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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# 尝试运行Fluent NHibernate教程示例时出现运行时错误_C#_Nhibernate_Visual Studio 2010_Fluent Nhibernate_Assembly Resolution - Fatal编程技术网

C# 尝试运行Fluent NHibernate教程示例时出现运行时错误

C# 尝试运行Fluent NHibernate教程示例时出现运行时错误,c#,nhibernate,visual-studio-2010,fluent-nhibernate,assembly-resolution,C#,Nhibernate,Visual Studio 2010,Fluent Nhibernate,Assembly Resolution,我在上完成了流畅的NHibernate教程,项目编译得很好 然而,我得到一个运行时错误,我似乎无法解决它。错误发生在您可以在教程中看到的CreateSessionFactory方法中。这是: private static ISessionFactory CreateSessionFactory() { return Fluently.Configure() .Database ( SQLiteConfiguration.Standa

我在上完成了流畅的NHibernate教程,项目编译得很好

然而,我得到一个运行时错误,我似乎无法解决它。错误发生在您可以在教程中看到的CreateSessionFactory方法中。这是:

private static ISessionFactory CreateSessionFactory()
{
    return Fluently.Configure()
        .Database
        (
            SQLiteConfiguration.Standard
                .UsingFile(DbFile)
        )
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<FluentNHibernateSample.Program>())
        .ExposeConfiguration(BuildSchema)
        .BuildSessionFactory();

}
教程不清楚如何设置引用(或者至少基于最内部的异常,它似乎不完整),所以我从中获取编译的程序集,并将它们复制到libs文件夹中。通过谷歌搜索错误,我设置了对FluentNHibernate、NHibernate和NHibernate.ByteCode.Castle程序集的引用。我将下载页面中的所有DLL复制到bin目录中,我认为所有引用都可以解析。(这是我对其工作原理的理解)。无论如何,这是我复制到垃圾箱的文件列表

Antlr3.Runtime.dll
FluentNHibernate.dll
FluentNHibernate.exe
FluentNHibernate.pdb
FluentNHibernate.vshost.exe
FluentNHibernate.vshost.exe.manifest
FluentNHibernate.xml
Iesi.Collections.dll
Iesi.Collections.xml
log4net.dll
log4net.xml
NHibernate.ByteCode.Castle.dll
NHibernate.dll
NHibernate.xml
我还将System.Data.Sqlite程序集复制到bin

就我的一生而言,我无法弄清问题出在哪里。我已经尝试了我能想到的一切,并在谷歌上搜索了多条错误消息,但没有任何效果

救命啊!我在这上面浪费了好几个小时

编辑
我已将项目的源文件放在。请记住,要完全复制我的环境,需要将中的所有文件放入output/bin目录

赛斯

您可能还需要:

  • Castle.Core.dll
  • Castle.dynamicProxy 2.dll
    • 您可能还需要:

      • Castle.Core.dll
      • Castle.dynamicProxy 2.dll

        • 仅仅因为您的fluent NHibernate项目进行了编译,并不意味着您的映射是正确的

          外部异常(与
          FluentNHibernate
          程序集有关)可能是一种误导


          试着注释掉所有的nhibernate映射,除了最简单、最容易的一点,然后看看它是否有效。如果是,则逐渐取消注释,直到找到失败的部分。

          仅仅因为您的fluent NHibernate项目已编译,这并不意味着您的映射是正确的

          外部异常(与
          FluentNHibernate
          程序集有关)可能是一种误导


          试着注释掉所有的nhibernate映射,除了最简单、最容易的一点,然后看看它是否有效。如果有,逐渐取消注释,直到找到失败的部分。

          下载Fluent NHibernate源代码发行版,然后查看示例项目;然后,您可以将这些项目与您的项目进行比较。

          下载Fluent NHibernate源代码发行版,然后查看示例项目;然后,您可以将这些项目的引用与您的项目的引用进行比较。

          对此,我觉得自己像个白痴,但最终导致映射问题的原因是,我将项目命名为FluentNHibernate(我自己辩护说,它位于示例文件夹中),但这导致了映射失败

          Visual Studio内部将程序集名称默认为FluentNHibernate,这导致了运行时错误。将程序集重命名为ConsoleApplication修复了它


          赛斯

          我觉得自己是个白痴,但最终导致映射问题的原因是我将项目命名为FluentNHibernate(在我自己的辩护中,它位于示例文件夹中),但这导致映射失败

          Visual Studio内部将程序集名称默认为FluentNHibernate,这导致了运行时错误。将程序集重命名为ConsoleApplication修复了它


          赛斯

          谢谢你的建议。如前所述,由于这些文件位于fluent nhibernate下载zip中,因此它们已添加到我的bin文件夹中。但是,根据您的建议,我在项目中向这些文件添加了引用。但我得到了同样的结果。谢谢你的建议。如前所述,由于这些文件位于fluent nhibernate下载zip中,因此它们已添加到我的bin文件夹中。但是,根据您的建议,我在项目中向这些文件添加了引用。但我得到了同样的结果。SethJames我正是这么想的,但是没有git我找不到获取源代码的方法。我还在svn上。我可以得到git(呵呵),因为它很小,但我想知道是否有一种方法可以在没有它的情况下获得源代码?Seth,现在是2010年,帮你自己一个忙,下载一个git客户端。乌龟(GUI)或msysgit(命令行)Seth:它们位于右边的底部;不过,它们只适用于单个版本,而不适用于特定版本。如果你想要1.1版的源代码,Github允许你下载标签的zip文件。James我当时也在想这个问题,但是没有git我找不到获得源代码的方法。我还在svn上。我可以得到git(呵呵),因为它很小,但我想知道是否有一种方法可以在没有它的情况下获得源代码?Seth,现在是2010年,帮你自己一个忙,下载一个git客户端。乌龟(GUI)或msysgit(命令行)Seth:它们位于右边的底部;不过,它们只适用于单个版本,而不适用于特定版本。如果您想要1.1版的源代码,Github允许您在中下载标签的zip。
          Antlr3.Runtime.dll
          FluentNHibernate.dll
          FluentNHibernate.exe
          FluentNHibernate.pdb
          FluentNHibernate.vshost.exe
          FluentNHibernate.vshost.exe.manifest
          FluentNHibernate.xml
          Iesi.Collections.dll
          Iesi.Collections.xml
          log4net.dll
          log4net.xml
          NHibernate.ByteCode.Castle.dll
          NHibernate.dll
          NHibernate.xml