0

背景:我目前正在尝试使用 EF6 连接到 MySQL 数据库,并正在寻找有关无法从程序集中加载类型的错误消息的解决方案。我相信我已经找到了一个可能的解决方案,使用包含 class 的不同程序集的带外版本,但是该解决方案产生了另一个问题,该问题似乎与第一个问题完全不同,可以作为它自己的问题(即使回答一个问题可能同时回答两个问题)。

问题:如何使用 Visual Studio 2019 Preview for Mac 包含带外程序集,以使我可以使用程序集中的特定类?我想使用3.0 预览版System.Component.Annotations获得AssociatedMetadataTypeTypeDescriptionProviderEF 所需的课程。当我尝试按照说明添加 OOB 程序集并重建我的项目时,会引发异常,指示似乎也包含该类的不同程序集的旧版本。

包控制台输出:

Successfully installed 'System.ComponentModel.Annotations 4.6.0-preview.18571.3' to Ef2MySql

例外:

TypeLoadException: Could not load type 'System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider' from assembly 'System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

编辑:我刚刚在不相关的空目录中运行并使用VSAssociatedMetadataTypeTypeDescriptionProviderNuGet包但是,它不在 NuGet 包中的所有 DLL 中。只是里面的那个nuget install System.ComponentModel.Annotations -Version 4.6.0-preview.19073.11System.ComponentModel.Annotations.4.6.0-preview.19073.11/lib/net461/System.ComponentModel.Annotations.dllnet461

进一步编辑:但是,添加我验证的程序集将类作为 .NET 程序集(而不是在 VS 中使用 NuGet)仍然不能解决错误。

显示程序集中的类的屏幕截图

4

1 回答 1

0

## 考虑使用 sqlite ##

Microsoft RazorPagesMovie 教程在 Visual Studio 2019 for Mac 中使用sqlite而不是mysql :


(尝试修改它以包含您的问题,希望您可以从中学到足够的知识来帮助您解决 mysql 问题)

  1. 跟随教程:开始使用 ASP.NET Core 中的 Razor 页面
  2. 第二部分:在 ASP.NET Core 中将模型添加到 Razor Pages 应用程序
于 2019-07-09T15:01:24.773 回答