【问题标题】:.NET 4.5.1 versus .NET Core 5.NET 4.5.1 与 .NET Core 5
【发布时间】:2015-07-29 15:36:12
【问题描述】:

我们想在下一个项目中使用“vNext”技术。

对我来说,当我们依赖像 Serilog 或 mongoDB 这样依赖于旧框架版本的库时,我们似乎只能使用框架版本 4.5.1。 这真的是真的还是有办法让依赖项依赖于完整的旧框架版本并且项目本身依赖于 .NET Core 5.0?

【问题讨论】:

  • 您的第二个问题非常模糊。无论如何,在一个帖子中问两个问题是个坏主意——我建议你删除它,如果你仍然想问它,想一个更具体的方式在不同的帖子中问它。如果您也为各种声明提供参考,这将有所帮助......

标签: c# .net .net-core


【解决方案1】:

(仅回答您的第一个问题,因为第二个问题似乎过于宽泛和/或模糊......)

这是真的吗,还是有办法让依赖项依赖于完整的旧框架版本而项目本身依赖于 .NET Core 5.0?

是的,这是真的——而且非常有道理,IMO。您是在说“我希望我的应用程序能够在 .NET Core 上运行”。如果您依赖的某些库尝试使用 .NET Core 中不存在的功能,这将如何工作?

我怀疑这会很快改善 很多 - 一旦事情稳定了一点并且开源项目更容易构建支持 .NET Core 的 NuGet 包,我希望大多数以可移植性为目标的项目都会尽力支持它。

(不过,这部分取决于工具 - 我认为现在构建适用于 .NET Core 的包的唯一方法是使用 vNext 样式的项目,而不是具有特定 PCL 配置文件的“常规”VS 类库项目。我希望这会改变,但我们会看到。)

【讨论】:

  • 在 C++ 原生世界中,您可以使用完全独立于您自己的应用程序的共享库 DLL。我只是在想这也应该是可能的。
  • @Matthias:但是您很难使用使用 Windows 8 功能构建的 DLL 但在 Windows 95 上运行它,不是吗?这就是你在这里要求的那种东西。您部署代码的环境决定了您可以部署哪些代码。我对此并不感到惊讶。
  • 我只是在想可以安装一个 II 服务器,其中有多个 .NET 框架可用。因此,主应用程序可以使用一个框架,其中“依赖项”(以任何可能的形式)可以依赖于另一个框架。
  • @Matthias:这并不现实——面向 .NET Core 的应用程序应该能够在 .NET Core 上运行。我可以看到你想要做什么,但这不是框架定位的目的。
  • 关于 Serilog 的大部分无关注释 - 目前支持 .NET 核心 ,但该平台上只有 .WriteTo.TextWriter() 可用(使用例如 .WriteTo.Console() 仍需要完整.NET。这肯定会很快改变 :-)
猜你喜欢
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 2013-11-23
  • 2021-03-20
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多