我们如何使用 Wix Sharp 捆绑和安装较低版本的 dotnet 核心?

问题描述

我们开发了我们的应用程序并在 DotNet 核心 3.1.101 上进行了测试,它运行良好,但发生的情况是 Microsoft 将 dotnet 核心更新到 3.1.111 并且它破坏了我们的应用程序,我们要求客户手动降级核心版本这似乎不是个好主意。

有人可以建议Wixsharp/.Net专家建议,我们如何避免这个问题?我们可以并行安装 dotnet core 并在我们的应用程序中使用所需的吗?如果是,我们该怎么做?

解决方法

如果您确实依赖特定的网络核心版本,那么最好的解决方案是使用自包含发布 (https://docs.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained)。这将从您的代码和您当前的网络核心版本创建固体包。在客户端计算机上,您的应用程序将使用与应用程序捆绑在一起的网络核心。用户可能安装了其他版本的网络框架/网络核心,但这些版本不会以任何方式影响您的应用。

例如,以下内容将为 Windows 创建 64 位可执行文件 dotnet publish -r win-x64

publish 命令获得包后,您只需像往常一样用 wix 打包整个包。不需要执行额外的步骤来安装 net core。