我最近得到了一份工作任务,以学习有关该框架的所有知识,但我什至无法开始。我阅读了有关此特定初始化部分的所有博客和文档,但它们都至少存在3-4年,并且没有有关它的更新信息。这是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));
}
“ Castle.ActiveRecord.ActiveRecordStarter”的类型初始值设定项引发了异常。
“无法从程序集“ Iesi.Collections,版本= 4.0.0.0,文化=中性,PublicKeyToken = aa95f207798dfdb4”中加载程序集'Iesi.Collections.Generic.HashedSet'1”。”:“ Iesi.Collections.Generic.HashedSet`1 ”
我设法解决了这个问题,如果其他人陷入其中,我将发布答案。我通过删除所有添加的引用并在另一个项目中查找较旧的dll并在解决方案资源管理器中手动引用它们来解决了该问题。NuGet管理器仅返回彼此不兼容的较新版本(ActiveRecord,NHibernate,log4net等)或不再定义所有旧类(即,本文中的例外)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句