Iis 当.NET核心托管包';s版本落后于开发机器版本 处境

Iis 当.NET核心托管包';s版本落后于开发机器版本 处境,iis,asp.net-core,.net-core,asp.net-core-mvc,asp.net-core-2.1,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,但不知道我们何时才能开始更新生产web服务器上的.NET Core托管包 问题 我们更新开发人员机器的事实是否因为我们还没有更新web服务器而无效 一旦我们的开发人员代码投入生产,这些应用程序会针对web服务器上的旧的.NET Core库运行吗?还是会以某种方式在开发人员机器正在构建的新版本中运行 如果我们的项目曾经被推到生产环境中,并在较旧版本的.N

目前,在.NET Core 2.1中存在一个安全漏洞,我们让所有开发人员将其.NET Core 2.1.x更新为.NET Core 2.1.10,但不知道我们何时才能开始更新生产web服务器上的.NET Core托管包

问题
  • 我们更新开发人员机器的事实是否因为我们还没有更新web服务器而无效
  • 一旦我们的开发人员代码投入生产,这些应用程序会针对web服务器上的旧的.NET Core库运行吗?还是会以某种方式在开发人员机器正在构建的新版本中运行
  • 如果我们的项目曾经被推到生产环境中,并在较旧版本的.NET核心库下运行,我们是否会因为开发人员使用较旧版本构建而遇到兼容性问题
  • 我想我的最终问题是,在我们更新开发机器之前,我们公司是否应该始终有一个政策来更新web服务器上的主机包
  • 如果您想从.NET Core 2.1.x到.NET Core 2.1.10的更新中获益,我会说:虽然您不更新服务器,但可以

  • 这些应用程序将尝试在服务器上安装的框架下运行。如果使用默认模式发布,则代码将取决于生产机器上安装的框架。但是,您可以更改为自包含部署模式,并用代码嵌入框架以在“目标平台”(targeted platform)上工作

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

  • 我认为,在测试新版本之前,您不应该更新生产服务器。我会在我的开发机器上更改目标框架,然后在(至少)预生产环境中更新框架和代码。我会在这个环境中测试它。只有这样,我才会考虑生产服务器的变化。


  • 第3点。根据Daboul的评论编辑

    我正要给1、2和4发送一个非常相似的答案。对于3,我想说,如果服务器上的运行时是2.1.X,那么即使dev机器稍微更新一点,如果它仍然是2.1.X,它也应该是兼容的。相同的大整数和小整数应该意味着这里的兼容性,不是吗?@Daboul你是对的,应该有效。然而,我不会尝试在生产中验证它。我将更新我的答案,使其更加精确。它太宽泛,无法讨论,因为不同的问题需要不同的解决方案,有时您只需要升级运行时,而在其他情况下,您需要更新托管捆绑包,但实际的公告包含说明。如果您确实想要公司政策,请遵循Microsoft的文章。