首页 文章

无法使EF.SQLite集成在UWP Application中工作

提问于
浏览
0

我有一个针对Fall Creators Update的 UWP 应用程序 . 我一直在herehere上学习本教程 .

每当我执行 Add-Migration 时,我都会收到错误

启动项目'UEX.Apps.Enforce.UWP'是一个通用Windows平台应用程序 . 此版本的Entity Framework核心软件包管理器控制台工具不支持此类项目 . 有关将EF Core Tools与UWP项目一起使用的详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=858496

我在这里不知所措 . 这似乎根本不起作用 .

我尝试了什么:使用Fall Creators Update设置全新的Windows 10 VM . 安装VS2017的新副本 . 将项目复制到新计算机 . 仍然给我同样的错误 .

我发现很难隔离代码,因为它只是基本的实体框架初始化代码 . 我认为错误存在于元信息中 . 正如我尝试使用新的VS2017安装,我不认为它是关于搞砸包或任何东西 .

我已将项目简化为项目文件和上下文以及一个实体 . 我在这里上传了它:

https://1drv.ms/u/s!AqqIr8PxNnQDjMU92f5cWkhQpeD-GQ

EDIT :根据Nico Zhus的回答,我一步一步地按照the tutorial将我的模型类放到一个单独的 .net Standard class library 中 . 我编辑了项目文件并添加了EF引用 . 但是,本教程中缺少一个步骤,详细说明了如何从 UWP 项目中实际引用模型代码,因为未提及添加实际引用 . 我尝试通过右键单击 Add reference 菜单添加引用,选择 .net standard class library ,但出现错误 .

无法添加对项目<...>的引用

我还将类库设置为我的启动项目,执行 Add-Migration 命令,它不会抛出任何异常,但它也不会添加我期望的迁移文件 . 什么都没发生 .

EDIT 2

根据我改变了Nico Zhus的评论,我将 .net standard class library 的项目文件的 TargetFramework 属性改回原来的状态,现在我可以从我的 UWP 项目中引用 class library . 但是,我仍然无法在我的Model项目上执行 Add-Migration

启动项目'我的项目'以框架'.NETStandard'为目标 . 没有与此框架关联的运行时,并且无法直接执行以其为目标的项目 . 要将Entity Framework核心软件包管理器控制台工具与此项目一起使用,请添加一个针对引用此项目的.NET Framework或.NET Core的可执行项目,并将其设置为启动项目;或者,更新此项目以跨目标.NET Framework或.NET Core .

1 回答

  • 1

    启动项目'UEX.Apps.Enforce.UWP'是一个通用Windows平台应用程序 . 此版本的Entity Framework核心软件包管理器控制台工具不支持此类项目 . 有关将EF Core Tools与UWP项目一起使用的详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=858496

    根据Getting Started with EF Core on Universal Windows Platform (UWP) with a New Database,您需要为您的UWP应用程序创建一个新的模型项目( Class Library (.NET Standard) ) . 在执行工具命令( Add-Migration MyFirstMigration )之前,需要选择 model project 作为默认项目,并将其设置为源中的启动项目 .
    enter image description here

    Update

    在执行工具命令之前,需要将以下内容放在 Model 项目的csproj文件中:

    <PropertyGroup>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    </PropertyGroup>
    

    如果已成功添加迁移文件,则可以更改 TargetFramework 以确保UWP项目可以引用它 .

    <TargetFrameworks>netstandard2.0</TargetFrameworks>
    

相关问题