无法加载文件或程序集“ServiceStack.OrmLite.SqliteNET”或其依赖项之一。

时间:2013-04-20 13:12:30

标签: sqlite ormlite-servicestack

我已经创建了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运行时?

2 个答案:

答案 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安装。