如果.NET Core托管捆绑包的版本落后于开发计算机的版本,

时间:2019-04-10 14:41:52

标签: iis asp.net-core .net-core asp.net-core-mvc asp.net-core-2.1

情况

如今,.NET Core 2.1中存在一个安全漏洞,我们所有开发人员都将其.NET Core 2.1.x更新为.NET Core 2.1.10,但不知道何时开始更新.NET。我们的生产Web服务器上的核心托管包。

问题

  1. 由于我们尚未更新Web服务器,所以更新开发人员机器的事实是否无效?
  2. 一旦我们的开发人员代码投入生产,这些应用程序是否将在我们Web服务器上的.NET Core旧库中运行,或者以某种方式在我们开发人员计算机所使用的较新版本中运行?
  3. 如果我们的项目一旦投入生产,便是在较旧版本的.NET Core库下运行的,那么由于我们的开发人员是针对较旧版本开发的,我们是否会遇到兼容性问题?
  4. 我想我的最终问题是,在我们更新开发机器之前,我们公司是否应该始终有一项政策来更新Web服务器上的托管捆绑软件?

1 个答案:

答案 0 :(得分:3)

  1. 如果您想从.NET Core 2.1.x到.NET Core 2.1.10的更新中受益,我会说:虽然您不更新服务器,但是。

  2. 应用程序将尝试在服务器上的已安装框架下运行。如果使用默认模式发布,则代码将取决于生产计算机上安装的框架。但是,您可以更改为自包含部署模式,并将框架与代码一起嵌入以在“目标平台”(https://www.danielcrabtree.com/blog/496/net-core-self-contained-and-framework-dependent-deployments-explained)上工作。

  3. 它应该保持兼容,因为两个版本均为2.1.x。但是,我不会在单独的环境中对其进行测试之前在生产中尝试它。

  4. 我相信您不应该在先测试新版本之前更新生产服务器。我将在开发机器上更改目标框架,然后至少在预生产环境中更新框架和代码。我会在这种环境下进行测试。只有到那时,我才会考虑对生产服务器进行更改。

第3点。根据Daboul评论进行编辑