Castle ActiveRecord 未连接到数据库

Castle ActiveRecord not connecting to the database

我最近接到了一项工作任务,要学习关于这个框架的一切,但我什至无法开始。我阅读了所有关于这个特定初始化部分的博客和文档,但它们都至少有 3-4 年的历史,并且没有关于它的更新信息。 This 是 Castle ActiveRecord 的官方文档。我对其进行了一些更改,因为 InPlaceConfigurationSource 不再具有使用 HashTable 的重载,我认为这是它的问题,因为我收到此异常。

    public Form1()
    {
        InitializeComponent();

        InPlaceConfigurationSource source = new InPlaceConfigurationSource();

        IDictionary<string,string> properties = new Dictionary<string, string>();

        properties.Add("hibernate.connection.driver_class", "NHibernate.Driver.SqlClientDriver");
        properties.Add("hibernate.dialect", "NHibernate.Dialect.MsSql2008Dialect");
        properties.Add("hibernate.connection.provider", "NHibernate.Connection.DriverConnectionProvider");
        properties.Add("hibernate.connection.connection_string", "Server=.\SQLEXPRESS;Initial Catalog=TestDB; Trusted_Connection=true;");

        source.Add(typeof(ActiveRecordBase), properties);

        ActiveRecordStarter.Initialize(source, typeof(Blog));
    }

The type initializer for 'Castle.ActiveRecord.ActiveRecordStarter' threw an exception.

"Could not load type 'Iesi.Collections.Generic.HashedSet'1' from assembly 'Iesi.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4'.":"Iesi.Collections.Generic.HashedSet`1"

我设法解决了这个问题,我会 post 给出答案,以防其他人陷入困境。我通过删除所有添加的引用并在另一个项目中查找旧的 dll 并在解决方案资源管理器中手动引用它们来解决它。 NuGet 管理器 returns 仅相互不兼容的较新版本(ActiveRecord、NHibernate、log4net 等)或不再定义所有旧 类(即此 post)