Rui*_*ima 4 .net-assembly visual-studio-2015 asp.net-core
在Visual Studio 2015中我有一个kproj,在这个项目中我想添加一个对任何公共nuget包源都没有的程序集的引用,所以我创建了自己的nuget包,这样就可以添加引用到这个集会.
问题是,现在我遇到以下异常:
ASP.NET Core 5.0错误CS0012:类型"对象"在未引用的程序集中定义.您必须添加对程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用.
关于如何克服这个问题的任何想法?
正如您所写,aspnetcore50从目标框架中删除可以解决问题.但是,我想知道为什么以及它带来了什么,我找到了答案.
aspnet50和之间的区别在于aspnetcore50它们分别使用.NET Framework 4.6和.NET Core 5.一篇文章什么是.NET 2015中的.NET Core 5和ASP.NET 5预览很好地解释了这些差异,简而言之:
当您在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兼容的库.如果你有一个已编译的DLL,它是针对.NET Framework的,那么很可能它不兼容,你将不得不使用.NET Framework 4.6.
原因是.NET Core 5不包含Basic Class Library,它包含集合,IO,LINQ等常见组件.BCL组件现在作为单独的NuGet包提供,因此您可以包含在只投射你需要的部分.
有关.NET Core 5目标库的不同之处,请参阅使用vNext创建多目标NuGet包
| 归档时间: |
|
| 查看次数: |
7027 次 |
| 最近记录: |