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

How can we bundle and install lower version of dotnet core using Wix Sharp?

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

Wixsharp/.Net高手能否指点一下,如何避免这个问题?我们可以并排安装 dotnet 核心并在我们的应用程序中使用所需的 on 吗?如果是,我们该怎么做?

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

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

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