在 Asp.NET Core MVC 6 中使用 PetaPoco

Using PetaPoco in Asp.NET Core MVC 6

所以我开始尝试新的 ASP.NET 5 平台并且在我的 Project.json

中有以下依赖项
"dependencies": {
    "System.Collections": "4.0.10-beta-23019",
    "System.Linq": "4.0.0-beta-23019",
    "System.Threading": "4.0.10-beta-23019",
    "System.Runtime": "4.0.10-beta-23019",
    "Microsoft.CSharp": "4.0.0-beta-23019",
    "PetaPoco.Core": "5.1.141-beta"
},

"frameworks": {
    "dnx451": { "dependencies": { "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta5" } },
    "dnxcore50": { "dependencies": { "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta5" } }
}

一切正常,但是当我尝试从 PetaPoco 命名空间访问任何内容时。一切都因消息而失败。

找不到类型或命名空间 PetaPoco,您是否缺少 using 指令或程序集引用。

我知道这意味着什么,但即使尝试导入命名空间也会导致同样的问题,我可以在 DNX4.5.1 和 DNX5.0 参考资料中看到该库

请问我在这里遗漏了什么

提前致谢

您没有注意到 PetaPoco 不能与 dnxcore50 一起使用。删除以下行以试用 ASP.NET5(或 asp.net core 作为新名称):

  "dnxcore50": { "dependencies": { "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta5

您应该可以将 PetaPoco 与 dnx451 一起使用。但是,您需要使用已编译的 nuget package,因为项目结构已更改并且单个文件部署不会将源文件复制到有效位置(我的猜测)。

此外,根据我的评论,dnxcore50(现在是 .Net Core 1.0)从 ado 堆栈中缺少一两个组件,这意味着 PetaPoco 将无法工作。但是,定位 dnx451 应该可以。

最后,在发布 RC2 后,我们很可能会看到 PetaPoco 为 .NET/Asp.Net Core 1.0 构建。

https://github.com/JCKodel/Core.ORM

在文件夹 __PETAPOCO/XCore 中有一个在 dnxCore 上运行的功能性 PetaPoco 版本。所有测试都通过。