0

我创建了 Asp.Net MVC 4 应用程序并使用“ServiceStack.OrmLite.Sqlite”。当我加载页面时,我看到以下错误。

无法加载文件或程序集“ServiceStack.OrmLite.SqliteNET”或其依赖项之一。试图加载格式不正确的程序

LOG:DisplayName = ServiceStack.OrmLite.SqliteNET(部分) WRN:为程序集提供了部分绑定信息:WRN:程序集名称:ServiceStack.OrmLite.SqliteNET | 域 ID:36 警告:仅提供部分程序集显示名称时会发生部分绑定。警告:这可能会导致活页夹加载不正确的程序集。WRN:建议为程序集提供完全指定的文本标识,WRN:由简单名称、版本、文化和公钥标记组成。警告:有关此问题的详细信息和常见解决方案,请参阅白皮书http://go.microsoft.com/fwlink/?LinkId=109270

我使用 Visual Studio 2012 Nuget 安装程序来加载文件。这意味着我拥有所有的依赖项。我已将我的项目设置为 32 位和 64 位来解决问题,但无论哪种情况,错误都是相同的。

ServiceStack.OrmLite.SqliteNET 可以在 .Net 4.5 运行时上运行吗?

4

2 回答 2

1

我在 .Net 4.0 上修复了同样的问题。我不认为这是与 CLR 版本相关的问题。更多的是与 Nuget 依赖相关的一个。

当我查看融合日志时,我发现:

LOG:后策略参考:System.Data.SQLite,Version=1.0.84.0,Culture=neutral,... LOG:程序集名称为:System.Data.SQLite,Version=1.0.85.0,Culture=neutral,PublicKeyToken= db937bc2d44ff139 警告:比较程序集名称导致不匹配:内部版本号 ERR:程序集引用与找到的程序集定义不匹配。

看起来 SQLite Nuget 包已更新并且破坏了一些东西。

解决问题:我将 packages.config 中的引用更改为 1.0.84.0 版本。还原 Nuget 包并手动将两个 SQLite 程序集重新引用到解决方案级别包缓存中新创建的 84 版文件夹。

于 2013-04-25T10:43:55.927 回答
0

GitHub上报告的解决方案/问题:

解决方案是手动删除 System.Data.SQLite 依赖项,从 package.config 中删除引用,而不是使用“-Version 1.0.84.0”从 nuget 安装。

于 2013-05-10T16:13:28.450 回答