【问题标题】:ASP.NET Core 5.0 error CS0012: The type 'Object' is defined in assembly 'mscorlibASP.NET Core 5.0 错误 CS0012:“对象”类型在程序集“mscorlib”中定义
【发布时间】:2023-03-31 14:10:01
【问题描述】:

在 Visual Studio 2015 中,我有一个 kproj,在这个项目中,我想添加对任何公共 nuget 包源中不可用的程序集的引用,因此我创建了自己的 nuget 包,并且通过这种方式能够添加对此程序集的引用。

问题是现在我遇到了以下异常:

ASP.NET Core 5.0 错误 CS0012:“对象”类型是在未引用的程序集中定义的。您必须添加对程序集 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 的引用。

关于如何克服这个问题的任何想法?

【问题讨论】:

    标签: visual-studio-2015 asp.net-core .net-assembly


    【解决方案1】:

    解决了。 从 project.json 中删除了框架“aspnetcore50”

    【讨论】:

    • 它也解决了我的问题。为什么它能解决问题?有什么想法吗?
    【解决方案2】:

    正如您所写,从目标框架中删除 aspnetcore50 可以解决问题。但是,我想知道为什么以及它带来了什么,我找到了答案。

    aspnet50aspnetcore50 的区别在于它们分别使用 .NET Framework 4.6 和 .NET Core 5。一篇文章What is .NET Core 5 and ASP.NET 5 within .NET 2015 Preview很好地解释了它们的区别,简而言之就是:

    当您在 Core-CLR 和 .NET Core 5 框架之上运行 ASP.NET 5 应用程序时,您将获得针对服务器/云优化的端到端堆栈工作负载,这意味着高吞吐量、非常小的内存占用以及最重要的事情之一,与您的应用程序相关的 .NET Core 5 框架版本(KRE 或 K 运行时环境)的并行执行,无论其他什么.NET 版本可能安装在同一台服务器或机器上。此外,如上所述,您可以在 Mac 或 Linux 上运行的 Web 服务上运行该 Web 应用程序。

    另一方面,当您在常规 CLR 和 .NET Framework 4.6 之上运行 ASP.NET 5 应用程序时,您将获得与现有 .NET 库的最高级别兼容性并且比在 .NET Core 5 上运行时获得的限制更少。

    这也意味着要利用这些强大的功能,您需要使用与 .NET Core 5 兼容的库。如果您确实有一个针对 .NET Framework 的已编译 DLL,则很可能它不兼容,您将不得不使用 .NET Framework 4.6。

    原因是 .NET Core 5 不包含基本类库,其中包含集合、IO、LINQ 等常见组件。BCL 组件现在作为单独的 NuGet 包提供,因此您可以在您的项目中只包含您需要的部分。

    您可以在Creating multi-target NuGet Packages with vNext 中阅读有关 .NET Core 5 目标库的不同之处

    【讨论】:

      【解决方案3】:

      事实上,问题在于一个旧的库,它需要一个 asp.net 4.0 或 4.5 版本(低于 Core)。

      微软通过安装闲置的 NuGet 包为其提供了解决方案。

      PM> 安装包 Microsoft.NETCore.Portable.Compatibility

      这样您就可以使用旧库运行您的代码。

      【讨论】:

        【解决方案4】:
        PM> Install-package Microsoft.NETCore.Portable.Compatibility
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-22
          • 1970-01-01
          • 1970-01-01
          • 2019-06-28
          相关资源
          最近更新 更多