'System.ServiceProcess.ServiceController Wix 安装程序和 .Net Core 3.1 的版本问题

'System.ServiceProcess.ServiceController version issue with Wix Installer and .Net Core 3.1

我在尝试使用 Wix 3.11.2 安装以 .Net Core 3.1 编写的 Windows 服务时出现异常 "Could not load file or assembly 'System.ServiceProcess.ServiceController, Version=4.2.3.0"。 System.ServiceProcess.ServiceController.dll 在我的系统上的版本是 4.7.19.56404。我根据每个建议添加了 ..\netcoreapp3.1\runtimes\win\lib\netstandard2.0 目录,还在项目文件中启用了 AutoGenerateBindingRedirects 和 GenerateBindingRedirectsOutputType。如何解决此绑定问题?

我解决了这个问题,方法是首先使用 publish 生成输出文件,然后将它们作为组件添加到我的 Product.wxs 文件中。然后安装服务并且 运行 正常。这是很多文件,所以我编写了一个小型控制台应用程序来将组件 XML 生成到一个文件并将其粘贴到 Product.wxs 文件中。

最初,我从发布文件夹上游的文件夹中获取文件。我也可能忽略了一个文件,因为我是手动添加它们的。