我已经创建了Asp.Net MVC 4应用程序并使用了'ServiceStack.OrmLite.Sqlite'。当我加载页面时,我看到以下错误。
无法加载文件或程序集“ServiceStack.OrmLite.SqliteNET”或其依赖项之一。试图加载格式不正确的程序
日志:DisplayName = ServiceStack.OrmLite.SqliteNET (部分) 警告:为程序集提供了部分绑定信息: 警告:程序集名称:ServiceStack.OrmLite.SqliteNET |域名ID:36 警告:仅提供部分程序集显示名称时发生部分绑定。 警告:这可能导致装订器装入错误的装配。 警告:建议为程序集提供完全指定的文本标识, 警告:它由简单的名称,版本,文化和公钥令牌组成。 警告:有关此问题的更多信息和常见解决方案,请参阅白皮书http://go.microsoft.com/fwlink/?LinkId=109270。
我使用Visual Studio 2012 Nuget安装程序加载文件。这意味着我已经拥有了所有的依赖关系。我已将我的项目设置为32位和64位以解决问题,但在任何一种情况下错误都是相同的。
ServiceStack.OrmLite.SqliteNET是否适用于.Net 4.5运行时?
答案 0 :(得分:1)
我在.Net 4.0上修复了同样的问题。我不相信这是CLR版本相关的问题。更多的Nuget依赖关系。
当我查看fusion log时,我找到了:
日志:后策略引用:System.Data.SQLite,Version = 1.0.84.0,Culture = neutral, ... 日志:程序集名称是:System.Data.SQLite,Version = 1.0.85.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139 警告:比较程序集名称导致不匹配:构建号 错误:程序集引用与找到的程序集定义不匹配。
看起来SQLite Nuget包已更新并且破坏了一些东西。
解决问题: 我将packages.config中的引用更改为版本1.0.84.0。 是否还原了Nuget包 并手动将两个SQLite程序集重新引用到解决方案级别程序包缓存中新创建的版本84文件夹。
答案 1 :(得分:0)
Solution/issue报道了GitHub:
解决方案是手动删除System.Data.SQLite依赖项,从package.config中删除引用,而不是从带有'-Version 1.0.84.0'的nuget安装。