gpt4 book ai didi

asp.net - 在 Web 项目中包含 PCL 时出现错误 "Could not load file or assembly ' sqlite 3' or one of its dependencies"

转载 作者:行者123 更新时间:2023-12-03 18:56:29 25 4
gpt4 key购买 nike

我刚开始学习 Xamarin,遇到了很多障碍,比如无法在 PCL 中使用标准 SQLite.Net。

在尝试了很多其他解决方案都没有成功之后,我发现 MvvmCross 完美地解决了我迄今为止的所有问题。

所以给斯图尔特点赞,真的很棒!

现在我在想,如果我也想要一个 ASP.Net Web 项目怎么办?我还能重用“核心”项目(所有平台共享的项目)吗?

我知道对于 HTML UI,我们无法将 UI 元素绑定(bind)到 ViewModel,因为 ViewModel 在服务器上,而 UI 在客户端上(实际上,对于我当前的 Web 项目,我所做的是 JSON 序列化 ViewModel 并发送它发送到客户端并使用 Knockout.js 进行绑定(bind))。

但是即使我们需要为 web 项目重写 ViewModel 的逻辑,重用“Core”项目仍然是非常有益的。

所以我尝试创建一个 ASP.Net MVC 项目并引用使用 MvvmCross 和 MvvmCross Sqlite 插件的“Core”项目。

而当我使用 nuget 在 Web 项目中获取对 MvvmCross 的引用时,我得到的“MvvmCross 的平台特定版本”是 WPF 版本(我猜那是因为它们都使用 .Net Framework)。这应该不是问题,因为我只需要引用 WPF 需要的其他一些 dll。

但真正的问题是当我运行 web 项目时,我得到一个错误:

无法加载 DLL 'sqlite3':找不到指定的模块。

根据谷歌搜索结果,我将文件“System.Data.SQLite.dll”的名称更改为“sqlite3.dll”,然后我得到另一个错误:

无法加载文件或程序集“sqlite3”或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配。 (来自 HRESULT 的异常:0x80131040)

然后我被卡住了。那么我错过了什么还是根本行不通?

顺便说一句,我还创建了一个 WPF UI 项目,我也遇到了第一个错误,但是在我将文件“System.Data.SQLite.dll”重命名为“sqlite3.dll”后,一切正常,我没有得到第二个错误。而我从 Nuget 获得的“System.Data.SQLite.dll”是 x86 版本。

谢谢

最佳答案

你应该可以在 http://www.sqlite.org/download.html 上下载官方的 sqlite3.dll for windows - 一位开发人员在 https://github.com/slodge/MvvmCross/wiki/Sqlite-plugin 上写了这篇文章

关于在服务器端 Web 应用程序中重用来自移动应用程序的服务的想法,Mvvmcross 本身并没有解决这个领域 - 从根本上说,对于大多数 Web 应用程序来说,生命周期和用户流(单个与多个)差别太大。一些“业务逻辑”和“模型”代码可以在网站上重复使用,但许多其他网站代码可能更好地围绕 nancy、fubumvc、simple web 等框架构建。

关于asp.net - 在 Web 项目中包含 PCL 时出现错误 "Could not load file or assembly ' sqlite 3' or one of its dependencies",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18790239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com