在 Windows/IIS 下使用 .NET Core 的独立 deplyoments



据我了解文档,在编译.net core 2.1或更高版本的应用程序时,系统将采用计算机上最新安装的SDK。

因此,我们将在 windows/IIS 下托管应用程序作为自包含应用程序,因此我们还需要为 IIS 安装关联的托管捆绑包。

假设以下场景:

  1. 基于 SDK 2.2.102/运行时 2.2.1 的 MyWebApp 1.0 已发布并部署到 PROD 中
  2. 时间流逝,团队继续开发 MyWebApp for 2.0 并升级到 SDK 2.2.104/运行时 2.2.2
  3. 检测到 MyWebApp 1.0 中的错误,需要修复并使用 MyWebApp 1.1 进行部署

现在,由于团队已经安装了更新的SDK,如果我要部署MyWebApp 1.1,它还需要在Windows计算机上更新SDK。

是否可以以某种方式告诉 dotnet 发布或在 csproj 文件中以另一个 sdk 为目标?

我想说你应该看看global.json。本质上,这是一个 json 文件,允许您在构建时将源代码"固定"到特定版本的 SDK。

不过,这有一些缺点。 最大的缺点是Microsoft发布 SDK 更新的速度。如果将代码库固定到 SDK 版本 2.1.202(作为版本 2.0.9 发布(,则将使用 SDK 的生命周期结束版本。

最新更新