【问题标题】:Getting sqlite to work in ASP.NET 5 (vnext)让 sqlite 在 ASP.NET 5 (vnext) 中工作
【发布时间】:2015-10-16 19:29:12
【问题描述】:

我正在尝试让 "EntityFramework.SQLite": "7.0.0-beta1" 在 ASP.NET 5 中工作。

我使用 Yeoman 创建了我的项目,并从包管理器中安装了 EF sqlite。

项目构建良好,但运行时我得到:

无法加载文件或程序集“Microsoft.Framework.Logging.ILogger, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'或其其中之一 依赖关系。

我的 project.json:

"dependencies": {
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
    "Microsoft.AspNet.Mvc": "6.0.0-beta5",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta5",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5",
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
    "Microsoft.Framework.Logging": "1.0.0-beta5",
    "Microsoft.Framework.Logging.Console": "1.0.0-beta5",
    "Kestrel": "1.0.0-beta5",
    "EntityFramework.SQLite": "7.0.0-beta1"
},

我怀疑这里存在版本控制问题

我尝试过的事情:

尝试对 EF 使用 beta5 只是为了破坏其他包。我还将 "Microsoft.Framework.Logging": "1.0.0-beta5" 更改为最新版本,并达到了 db 成功创建但在进入 services.AddMvc() 时中断的地步;

我已将示例项目签入 git hub: https://github.com/roboriaan/asp567

任何帮助将不胜感激。 谢谢

【问题讨论】:

    标签: asp.net sqlite asp.net-core-mvc entity-framework-core .net-core


    【解决方案1】:

    这是一个示例 https://github.com/Schr3da/ASP.net-vnext-samples 项目,它修改了 asp.net Mvc 示例以使用 Sqlite

    https://github.com/Schr3da/ASP.net-vnext-samples

    问候 施瑞达

    【讨论】:

      【解决方案2】:

      等待 beta 6,其中包括适当的 SQLite 支持和示例。 Beta 6 明天来! (7月27日)

      【讨论】:

      • 谢谢埃里克。好主意。
      • Beta5 软件包刚刚发布,您需要等待一段时间才能发布 beta6。
      • 如果您不想等待,可以使用开发位 :)
      • 我也试试 Victor。
      • 这最终工作得很好。真的很感谢帮助的家伙。升级到 beta6。正如 Pinpoint 所提到的,只需注意“UseSqlite”而不是“UseSQLite”ext 方法。干杯!
      【解决方案3】:

      您不能混合使用 beta1 和 beta5 软件包。鉴于 SQLite 提供程序仍在开发中,您最好的选择是使用最新的 beta7 nightly 版本,它修复了一些错误。确保还使用 dnvm upgrade -u 更新您的 DNX 运行时

      您可以在 MyGet 上找到最新的包:http://myget.org/gallery/aspnetvnext

      【讨论】:

      • 感谢您的快速回复。我已经升级到 beta7,但是看到 optionsBuilder.UseSQLite 的扩展方法已经不存在了。大概是在处理吧?我会继续寻找。
      • 它仍然存在,但它被命名为UseSqlite,而不是UseSQLite(不同的大小写):github.com/aspnet/EntityFramework/blob/dev/src/…AddSqlite 也还在:github.com/aspnet/EntityFramework/blob/dev/src/…
      • 我只得到了 UseModel。会复查。谢谢
      • 确保您正确导入了 Microsoft.Data.Entity 命名空间。
      • 只是为了 100% 确定。我所有的软件包都必须是相同的 beta#。所以如果我去 sql beta7 我所有的其他包都必须去 beta7?
      【解决方案4】:

      现在 beta 6 已经发布,请查看Getting Started with ASP.NET 5 指南。这使用 SQL Server。 Getting Started with OS X 指南使用 SQLite。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-26
        • 1970-01-01
        • 2015-10-12
        • 2015-01-29
        • 1970-01-01
        • 2016-03-05
        • 2015-04-04
        相关资源
        最近更新 更多