相关疑难解决方法(0)

在.NET 4.0项目中引用.NET 2.0混合模式程序集需要什么"附加配置"?

我有一个项目,其中我想使用一些.NET 4.0功能,但核心要求是我可以使用针对2.X编译的System.Data.SQLite框架.我看到提到这是可能的,例如这里接受的答案,但我不知道如何实际实现这一点.

当我在参考2.X程序集时尝试运行我的4.0项目时,我得到:

混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.

什么"附加配置"是必要的?

.net c# sqlite .net-4.0 system.data.sqlite

517
推荐指数
8
解决办法
18万
查看次数

使用FluentNHibernate + SQLite与.NET4的问题?

我有一个WPF应用程序运行VS2010 .Net3.5使用Nhibernate与FluentNHibernate + SQLite,一切正常.

现在我想改为使用.Net4,但这已经变成了一种比我想象的更痛苦的经历..在设置连接时我这样做:

var cfg = Fluently.Configure().
    Database(SQLiteConfiguration.Standard.ShowSql().UsingFile("MyDb.db")).
    Mappings(m => m.FluentMappings.AddFromAssemblyOf<MappingsPersistenceModel>());
_sessionFactory = cfg.BuildSessionFactory();                    
Run Code Online (Sandbox Code Playgroud)

BuildSessionFactory()调用抛出FluentConfigurationException:

创建SessionFactory时使用了无效或不完整的配置.检查PotentialReasons集合和InnerException以获取更多详细信息.

内部异常为我们提供了更多信息:

无法从NHibernate.Driver.SQLite20Driver,NHibernate,Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4创建驱动程序.

而且还有InnerException:

无法找到程序集System.Data.SQLite中的IDbCommand和IDbConnection实现.确保程序集System.Data.SQLite位于应用程序目录或全局程序集缓存中.如果程序集位于GAC中,请使用应用程序配置文件中的元素指定程序集的全名.

现在 - 对我来说听起来似乎没找到System.Data.SQLite.dll,但我无法理解这一点.引用的所有地方我都有"复制本地",我已经验证它是在使用SQLite的项目的每个构建文件夹中.我还手动将它复制到解决方案的每个Debug文件夹 - 没有运气.

笔记:

  • 在升级到.Net4之前,这是完全相同的代码.
  • 我之前确实看到了一些x64 x86不匹配问题,但我已经切换到使用x86作为目标平台和所有引用的dll.我已经验证Debug-folder中的所有文件都是x86.
  • 我已经尝试过预编译的Fluent dll,我已经尝试过编译自己,并且我已经使用.Net4编译了我自己的Fluent版本.
  • 我看到还有其他人已经看到了这个问题,但我还没有真正看到任何解决方案.

在@ devio的回答后,我尝试添加对SQLite dll的引用.这没有改变任何东西,但我希望我做对了..这是我添加到app.config文件的根节点的内容:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <qualifyAssembly partialName="System.Data.SQLite" fullName="System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)

有没有人使用Fluent成功使用.Net4和SQLite?救命!我迷路了...

.net sqlite .net-4.0 fluent-nhibernate

12
推荐指数
2
解决办法
8238
查看次数