【发布时间】:2012-11-21 21:08:02
【问题描述】:
最近我们开始着手一个新项目,其中包括 Windows 8 Metro、Windows Phone 和桌面应用程序的客户端。决定使用 MVVM 模式作为主要架构,因为在项目之间共享 ViewModel 对我们来说是更容易接受的解决方案。
我们决定为此目的使用可移植类库,但问题是在从 Visualstudio 2012 扩展库下载并安装 SQLite for Windows 运行时后,当我们尝试添加对适当库的引用时,我们根本看不到这些库。这让我们想到,在 Portable 类库项目中使用 SQLite 是不可能的。
也许你们中的一些人已经这样做并且知道我们可以实现该功能的方式?请为我们提供开发此任务的正确方法,因为在此开发阶段使用 SQLite 和具有可重用代码非常重要
【问题讨论】:
-
SQLite 不能在可移植类库项目中使用。
-
?你能再解释一下吗?必须有使用它的方法。例如,可以编写包装器接口并使用 IoC 或 DI 来提供它。 StackOverflow 用户还有其他建议吗?
-
我认为您不能从可移植类库中引用“本机”DLL,例如 SQLite。但是,请查看 SQLite 的 C# 端口,csharp-sqlite。没有 PCL 项目,但有针对所有感兴趣平台的专用项目。您可以为特定平台引用 csharp-sqlite DLL,或者您可以检查为 csharp-sqlite 创建 PCL 的工作量。
-
好吧,csharo-sqlite 似乎是我们任务的某种解决方案,但是如果我们在 PCL 项目中创建 IRepositori
接口并在不同的项目中实现它,你不认为我会更好吗项目?与使用构造函数注入相比,我们将使用 SQLite 将具体实现传递给我们的可移植类库 Service 类。这行得通吗?我认为这将是更干净和可维护的方式。我说的对吗?
标签: c# sqlite windows-8 windows-phone-8 portable-class-library