使用Mac的Visual Studio 2019 Preview用带外程序集从“内置”程序集替换类引用

时间:2019-02-27 19:42:05

标签: .net xamarin visual-studio-mac visual-studio-2019

背景:我目前正在尝试使用EF6连接到MySQL数据库,并正在寻找关于an error message类型not being able to be loaded from an assembly的解决方案。我相信我已经找到了使用out-of-band release of a different assembly that includes the class的可能解决方案,但是该解决方案产生了另一个问题,该问题似乎与第一个问题截然不同,只是它自己的问题(即使回答一个问题可能会回答两个问题)

问题:如何使用Visual Studio 2019 Preview for Mac以一种允许我使用程序集中的特定类的方式包含带外程序集?我想使用System.Component.Annotations中的3.0 preview release来达到EF要求的AssociatedMetadataTypeTypeDescriptionProvider类。当我尝试遵循instructions for adding an OOB assembly并重建我的项目时,将引发异常,指示另一个程序集的旧版本似乎也包含该类。

Package Console输出:

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'.

编辑: 我刚刚通过在不相关的空目录中运行AssociatedMetadataTypeTypeDescriptionProvider并打开{ {1}}与VS。 但是,它不是在NuGet包的所有DLL中都存在。只是nuget install System.ComponentModel.Annotations -Version 4.6.0-preview.19073.11中的一个。

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

Screenshot showing class in assembly

1 个答案:

答案 0 :(得分:0)

##考虑使用sqlite代替##

在Microsoft Visual Studio 2019中使用 sqlite 代替 mysql

Microsoft RazorPagesMovie教程:


(尝试对其进行修改以包含您的问题,希望您可以从中学到足够的知识来帮助您解决与mysql有关的问题)

  1. 关注Tutorial: Get started with Razor Pages in ASP.NET Core
  2. 第二部分:Add a model to a Razor Pages app in ASP.NET Core