【发布时间】:2021-11-22 21:08:13
【问题描述】:
我有一个构建服务器,用于构建我的 .Net 5 应用程序(上面安装了 .Net 5 SDK)。
我想在同一构建服务器上安装 .Net 6 SDK 并将其用于构建现有的 .Net 5 应用程序和新的 .Net 6 应用程序。
但我担心,当我安装 .Net 6 SDK 时,可能会导致 .Net 5 应用程序的构建过程发生变化。特别是当 .Net 5 应用程序部署到未安装 .Net 6 的服务器时。
我之所以问这个问题是因为从历史上看它一直是个问题。 在同一台机器上构建两个应用程序时,一个在 .Net Framework 4.0 上,一个在 .Net Framework 4.8 上,其中涉及一些微妙之处。当您安装 .Net Framework 4.8 时,它会升级 .Net Framework 4.0 程序集。然后,当您构建 4.0 应用程序时,它使用 4.8 但“目标”为 4.0 以尝试使其看起来像 .Net Framework 4.0(用于 .Net Framework 4.0 应用程序)。但它确实是 .Net Framework 4.8。这导致了微妙的、难以发现的错误。
我想知道在同一台机器上构建 .Net 5 和 .Net 6 应用程序时是否存在类似问题。
当我在构建服务器上安装 .Net 6 SDK 时,它会影响/升级 .Net 5 SDK 库吗?(类似于 .Net Framework 4.x 的做法。)
【问题讨论】:
-
如果您对此感到担忧,正确的做法是对其进行测试并确认确实没有问题。
-
.NET Core 支持在运行时和 SDK 上并行安装,如官方文档所述。
-
依赖于框架的部署通过将运行时与部署的应用程序捆绑在一起消除了这种担忧。它不能意外获取更新版本的运行时。
-
@CamiloTerevinto - 我找不到那些文档。 (我的搜索不断提出“.Net Framework 4.x”的东西)。有链接吗?
-
@mason - 我想我可以设置一个测试台并进行几天的测试来验证它。但我想我可能会先看看是否有人已经这样做了(通过问这个问题)。