windows - 将 Windows 服务项目更新到 .NET 5 System.Configuration.Installer,如何将其添加到我的项目中?
问题描述
现在 .NET 5 已经发布,我想我会考虑升级我们拥有的一些应用程序,其中一个我们有一个 Windows 服务。
似乎我们依赖的一些命名空间,其中之一是System.Configuration.Install
.NET 5 中不存在开箱即用的。我假设它有一个技巧,比如添加对 Windows 窗体的支持<UseWindowsForms>true</UseWindowsForms>
是通过 .我想我会在这里问。
有没有办法将该命名空间和其他相关位带入 .NET 5 项目?如果是这样,怎么做?
是的,我已将目标框架设置为net5.0-windows
第一个。
解决方案
没有计划将其移植到 .NET Core。有一个关于这个的 Github 问题讨论。源代码将于本月发布到 Microsoft/References ,但 PR 尚未合并。有些人已经反编译了这些类并从中创建了包,例如Core.System.Configuration.Install
很少有人会将该命名空间识别为用于“简化”Windows Installer 操作的类,更不用说使用它了。我想我上次使用它是 2004 年?2005 年?之后我使用了适当的安装程序生成器,最近又使用了声明性配置管理脚本,如 Powershell DSC 或 Puppet。
编写定义要安装的服务、计数器、事件日志的 PowershellDSC 脚本可能比尝试创建等效的 MSI 操作更容易。没关系部署到多台服务器。
另一种选择可能是等待一两个星期,直到源代码合并到 ReferenceSource 中,或者等到有人解决问题并将其打包。
推荐阅读
- php - WooCommerce、代码片段和 WPML:允许来自新国家/地区的翻译
- azure - Azure 发布管道 - 如何设置代理池
- javascript - 纯JS中表格元素的下一个/上一个按钮
- python - 为什么这个语句不起作用,我已经导入了数学库
- flutter - Flutter Snackbar 更新状态
- c++ - c++ / omnet++ 中未定义的引用
- raku - raku:解析部分的降价语法
- asp.net - How to check the length of decimal types with fluent validation?
- c++ - 更改 HWND 是否在运行时处于最顶层
- reactjs - 无法在反应中获取