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

.net core ';Wix安装程序和.Net Core 3.1的System.ServiceProcess.ServiceController版本问题,.net-core,wix,windows-services,.net Core,Wix,Windows Services,在尝试使用Wix 3.11.2安装以.Net Core 3.1编写的Windows服务时,出现异常“无法加载文件或程序集'System.ServiceProcess.ServiceController,版本=4.2.3.0”。我的系统上System.ServiceProcess.ServiceController.dll的版本是4.7.19.56404。我为每个建议添加了..\netcoreapp3.1\runtimes\win\lib\netstandard2.0目录,并在项目文件中启用了Au

在尝试使用Wix 3.11.2安装以.Net Core 3.1编写的Windows服务时,出现异常“无法加载文件或程序集'System.ServiceProcess.ServiceController,版本=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
文件中


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

你能告诉我如何创建这样的服务吗?我在VS2019中,只看到.NET Framework Windows服务项目类型。您是否正在创建“工作人员服务”?是否遵循此操作?我没有答案,但我可以说我遵循了上面链接中的说明,一切都很好。4.700.19.56404就是我看到的。我有一个开源的WiX工具,叫做IsWiX,这里有教程。对于.NETCore,它基本上与Windows服务示例相同,但您使用的不是xcopy postbuild命令,而是WebApp中的PublishProfile模式。另一个不同之处是,您可以编辑配置文件以获得所需的dotnet发布设置。查看此处的代码可能会帮助您解决问题。