.NET 4.5.1与.NET Core 5的区别

3
我们希望在下一个项目中使用“vNext”技术。
对于我来说,如果我们依赖于像Serilog或mongoDB这样具有旧框架版本依赖项的库,似乎只能使用框架版本4.5.1。 这是真的吗?还是有一种方法可以有依赖于完整旧框架版本的依赖项,并且项目本身依赖于.NET Core 5.0?

你的第二个问题非常模糊。在一个帖子中提出两个问题是不好的想法 - 我建议你删除它,如果你仍然想问它,在另一个帖子中考虑更具体的方式来提问。如果你能提供各种主张的参考资料,那会很有帮助... - Jon Skeet
1个回答

4

(只回答你的第一个问题,因为第二个问题似乎太宽泛或者含糊不清...)

这是真的吗?还是有一种方法可以让依赖项依赖于完整的旧框架版本,并且项目本身依赖于.NET Core 5.0?

是的,这是真的 - 在我看来非常合理。你要说“我希望我的应用程序能够在.NET Core上运行”。如果你所依赖的某些库尝试使用在.NET Core中不存在的功能,那么它将如何工作呢?

我认为这很快就会得到改善 - 一旦事情稳定了一点,开源项目更容易构建支持.NET Core的NuGet包,我期望大多数旨在实现可移植性的项目都会尽力支持它。

(其中一部分取决于工具 - 我了解到,现在构建适用于.NET Core的包的唯一方法是使用vNext风格的项目,而不是具有特定PCL配置文件的“常规”VS类库项目。我希望这将会改变,但我们将拭目以待。)


在C++本地环境中,您可以使用一个共享库DLL,它完全独立于您自己的应用程序。我只是在想这在这里也应该是可能的。 - Matthias
1
@Matthias:但是如果你在Windows 95上运行使用Windows 8功能构建的DLL,那么你会遇到很大的困难,不是吗?这就是你在这里所要求的。您部署代码的环境决定了您可以部署哪些代码。我对此并不感到惊讶。 - Jon Skeet
只是为了确保我们不会仅仅因为一些依赖关系需要旧API而对其产生依赖。为了准备.NET Core。 - Matthias
2
@Matthias:嗯,那不太可行——针对.NET Core的应用程序应该能够在.NET Core上运行。我知道你想做什么,但这不是框架定位的目的。 - Jon Skeet
1
关于Serilog的大部分无关注释 - 目前.NET Core是受支持的,但该平台上仅可使用.WriteTo.TextWriter()(例如,使用.WriteTo.Console()仍需要完整的.NET)。这肯定很快会改变 :-) - Nicholas Blumhardt
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接