Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net .NET核心项目添加对.NET Framework项目的引用。为什么';有可能吗?_Asp.net_.net_Asp.net Core - Fatal编程技术网

Asp.net .NET核心项目添加对.NET Framework项目的引用。为什么';有可能吗?

Asp.net .NET核心项目添加对.NET Framework项目的引用。为什么';有可能吗?,asp.net,.net,asp.net-core,Asp.net,.net,Asp.net Core,我有以下项目: .NET核心2.0 Web应用程序 .NET标准2.0类库和 .NET Framework 4.5类库 我将.net framework类库的引用添加到asp.net核心web api项目中。而且似乎效果很好 我想知道为什么可以将.NET Framework类库项目的引用添加到ASP.NET核心Web API或MVC中 它不应该只允许向核心项目添加标准库或核心库引用? 这个包含.NET Framework类库引用的核心Web项目是否仍然是跨平台的 更新 根据评论: “如果您将.n

我有以下项目:

.NET核心2.0 Web应用程序

.NET标准2.0类库和

.NET Framework 4.5类库

我将.net framework类库的引用添加到asp.net核心web api项目中。而且似乎效果很好

我想知道为什么可以将.NET Framework类库项目的引用添加到ASP.NET核心Web API或MVC中

它不应该只允许向核心项目添加标准库或核心库引用? 这个包含.NET Framework类库引用的核心Web项目是否仍然是跨平台的

更新

根据评论:


“如果您将.net framework库导入到项目中,它将不再是跨平台的,但如果您愿意,您可以自由地进行。他们允许这样做,因为您可能希望使用.net core,但仍在windows上。”

所以,如果这是一个原因,如果我想将我的项目绑定到.NET Framework并留在windows上,为什么我从一开始就使用核心Web项目

我认为我们使用核心项目来实现跨平台能力,如果不是,那么.Net framework不是更好的选择吗

更新

评论:

“没什么好笑的:ASP.NET Core项目不必在.NET Core上运行。它也可以在.NET Framework上运行。”

仅仅因为它被称为“Core”,并不意味着它们是相关的。他们可以称它为ASP.NET FancyPants,并让它在.NET Core和.NET Framework上运行,这样你就不会那么困惑了。微软只是不擅长命名。”

更新(2018年11月12日)

由于.NET Framework的就地更新特性以及限制可能破坏现有应用程序的更改的愿望,因此,.NET Framework将越来越少地使用.NET核心的更新平台和语言功能。为确保ASP.NET Core能够充分利用.NET Core未来的改进。向前看,您可以简单地将ASP.NET Core视为.NET Core的一部分


今天,使用.NET Framework上的ASP.NET Core的客户可以继续以完全受支持的方式使用。2.1的支持和服务将至少持续到2021年8月21日(宣布为LTS发行版后3年),符合。

这是刚刚添加的一部分。只要.NET Framework dll只引用.NET标准中的内容,它将使用类型转发到.NET核心实现。

我不知道是什么原因使Microsoft允许将.NET Framework类库引用到.NET核心项目中,但作为一名程序员,我很高兴有这样的允许

您可以看到,如果您想从windows开始并计划将来跨平台使用,那么允许.net核心应用程序引用.net framework库非常有用


我们正处于一个阶段,许多有用的开源库直到本文发表之日还不能完全支持.net core,masstransit就是一个例子,因此,当我开发一个新软件时,我将使用依赖于这些库的.net core项目,稍后当它们支持.net core时,我将对它们进行更新。

如果将.net framework库导入到项目中,它将不再是跨平台的,但如果愿意,您可以自由地进行。他们允许这样做,因为你可能想使用.net core,但仍然在windows上,你永远不知道,对吗?@Phiter那么,如果我想将我的项目绑定到.net Framework并保持在windows上,为什么我从一开始就使用core Web project?我认为我们使用核心项目来实现跨平台功能如果不是的话,.Net framework不是一个更好的选择?问题是:这毫无意义,但它们不会消除你做这类事情的能力,因为每个开发人员都有权做他自己的无意义的事情。还要记住ASP.Net core不必在.Net core上运行。它也可以在.NETFramework上运行,一点也不好笑。仅仅因为它被称为“核心”,并不意味着它们是相关的。他们可以称之为ASP.NET FancyPants,让它在.NET核心和.NET框架上运行,这样你就不会这么困惑了。微软只是不善于给事物命名。这正是支持这种行为的原因。我在回答和评论中已经多次提到过这个问题,但我建议大家先看一下Immo Landwerth在.NET Standard()上的视频,以及这个答案链接到我仍然有问题的url。尽管我可以在.NETCore中有一个项目,在.NETFramework中有另一个项目。我需要引用框架项目以获取.NET核心中的功能,但它会中断,因为.NET核心项目无法导入这些功能libraries@BradenBrown什么操作系统?@DanielA.White Windows 10。更具体地说,它是一个无法导入的Nuget包。我可能做错了什么though@BradenBrown可能它的依赖项不符合.net标准