【问题标题】:Config error with EF 2.0, UWP (targeting 16299 and later), and NugetEF 2.0、UWP(针对 16299 及更高版本)和 Nuget 的配置错误
【发布时间】:2018-03-29 22:03:44
【问题描述】:

我目前正在尝试使用 EF Core 构建 UWP,并决定使用 EF 2.0 和目标为 16299 及更高版本的 UWP。

使用示例 dotnet core 控制台应用程序,我确定 EF Core 可以正常工作(迁移等)。当我在 UWP 上工作时,我遇到了以下错误,这似乎与 Nuget 相关:

Error
Cannot find type Microsoft.EntityFrameworkCore.Metadata.Internal.RelationalFullAnnotationNames 
in module Microsoft.EntityFrameworkCore.Relational.dll

我已经安装了相关的软件包(据我所知)。我不知道还有哪些相关信息,所以我会根据需要更新我的帖子。

此外,输出日志错误更具描述性:

C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\XamlCompiler\Microsoft.Windows.UI.Xaml.Common.targets(353,5): Xaml Internal Error error WMC9999: Cannot find type Microsoft.EntityFrameworkCore.Metadata.Internal.RelationalFullAnnotationNames in module Microsoft.EntityFrameworkCore.Relational.dll.

【问题讨论】:

  • 我用 UWP 应用目标 16299 测试了 EF Core 2.0,但无法重现您的问题。您能否详细说明重现步骤或minimal reproducible example
  • 您的最低版本是 16299 吗?这也是必需的。
  • 我确实将最低版本设置为 16299。我忘了提一个重点——我使用的是 .NET Standard 库中的 EF 2.0。看起来围绕类似问题存在一组记录在案的问题。在解决这些问题的同时,我还可以在项目上做其他工作。感谢您的回复!

标签: c# database sqlite uwp entity-framework-core


【解决方案1】:

我遇到了这个问题,这是因为我引用了太多东西。

我参考了:

Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Relational
Microsoft.EntityFrameworkCore.Relational.Design
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools

但我只需要

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools

当我删除不需要的引用时,清理了 soln,然后重新启动 vs, 一切正常。

【讨论】:

  • 尚无法验证这是否能解决我的问题,但我会尽快查看。值得注意的是——我使用 Sqlite 作为我的提供者,但可能没有区别。另外,虽然我同意您的解决方案的前提,但您基本上只是告诉我删除有问题的参考:P
  • 我可能弄错了,因为我现在找不到链接,但我似乎记得在某处看到一个论坛帖子说出现问题是因为 EntityFrameworkCore.Relational 中的功能已移至 Microsoft.EntityFrameworkCore。 SqlServer 或类似的东西。我假设我猜 EntityFrameworkCore.Sqlite 也是如此。
  • 这对我有用。确保您只减少您的 Microsoft.EntityFrameworkCore.* 引用。
【解决方案2】:

删除以下内容为我清除了它: 卸载-包 Microsoft.EntityFrameworkCore.SqlServer.Design

【讨论】:

  • 我无法真正测试您的解决方案是否能解决我的问题,因为我已经转向 Qt 以针对 UWP 并取消了我将使用的工具。 (Qt 和 VS 都是磁盘占用者,我只有一个空间。)我认为你的回答解决了我的一般问题,但我的问题用词不当,也不会这样回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 2013-06-11
  • 1970-01-01
相关资源
最近更新 更多