【问题标题】:How to publish a .net framework windows service如何发布 .net 框架 Windows 服务
【发布时间】:2020-07-21 14:11:43
【问题描述】:

我有一个使用 .net 核心构建的 Windows 服务,我可以使用发布配置文件发布它,并且由于我使用 appsettings,我也可以针对环境。试图找出另一个项目的解决方案,但它使用 .net 框架并且不想使用 installutil。到目前为止,我只能
- 停止服务
- 复制文件
- 重启服务

但是,对于 .net 框架服务,设置在 app.config 中,测试服务器和生产服务器之间的设置明显不同。

所以现在我正在考虑使用 powershell 来执行此操作,并希望将其添加到构建管道中以使其自动化。这些步骤与 powershell 脚本将执行的步骤相同
- 停止目标服务器上的服务
- 复制 /bin 文件夹中的文件
- 重启目标服务器上的服务
除了复制文件后,我需要修改app.config,以上所有我确信我可以用powershell完成。

我的问题是,这可以通过在本地构建代理上运行的构建管道来完成吗?

【问题讨论】:

  • 是你要添加PowerShell on target machines任务来构建管道吗?
  • 可能,除了目标是运行构建代理的同一台机器。谢谢你的建议,我在看。在构建目标的每台机器上都有本地构建代理。
  • 好几天没有收到您的回复,能否分享一下您对此问题的最新信息?如果您有任何疑问,请随时在此处分享。

标签: powershell .net-core azure-devops app-config


【解决方案1】:

这可以通过在本地构建上运行的构建管道来完成吗 代理

对于这个问题,根据您的情况,正如penaunt在评论中提到的那样,您可以尝试将目标机器上的PowerShell任务添加到构建管道中。

您可以使用此任务在远程计算机上执行 PowerShell 脚本。此任务使用 Windows 远程管理 (WinRM) 访问已加入域或已加入工作组的本地物理计算机或虚拟计算机。对于 PowerShell 脚本,计算机必须安装 PowerShell 2.0 或更高版本。

- task: PowerShellOnTargetMachines@3
  displayName: 'Run PowerShell on Target Machines'
  inputs:
    Machines: '...'
    #userName: # Optional
    #userPassword: # Optional
    #scriptType: 'Inline'
    #inlineScript: '# Write your powershell commands here'
    #scriptArguments: # Optional

【讨论】:

  • 它可能更容易,因为目标是构建代理所在的同一台机器,并且已经安装了powershell。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
  • 2015-01-09
  • 1970-01-01
  • 2020-11-13
  • 2011-06-16
  • 1970-01-01
相关资源
最近更新 更多