gpt4 book ai didi

msbuild - nant 与 msbuild : stopping a service

转载 作者:行者123 更新时间:2023-12-03 18:18:30 24 4
gpt4 key购买 nike

我正在努力决定在 MsBuild 与 Nant 的 war 中我站在哪一边。我开始于:停止服务,部署一些文件,重新启动服务。仅从这两个链接来看,在 Nant 中这样做要容易得多。

MSBuild:Example of using Service Exists MSBuild task in Microsoft.Sdc.Tasks?

<target name="service_exists"> 
<script language="C#">
<references>
<include name="System.ServiceProcess.dll" />
</references>
<code><![CDATA[
public static void ScriptMain(Project project) {
String serviceName = project.Properties["service.name"];
project.Properties["service.exists"] = "false";
project.Properties["service.running"] = "false";

System.ServiceProcess.ServiceController[] scServices;
scServices = System.ServiceProcess.ServiceController.GetServices();

foreach (System.ServiceProcess.ServiceController scTemp in scServices)
{
etc...

南特: http://ryepup.unwashedmeme.com/blog/2007/01/04/restart-a-windows-service-remotely/
<!-- Send the stop request -->
<exec program="sc.exe">
<arg line="\\server stop shibd_Default"/>
</exec>
<!-- Sleep a little bit, to give the service a chance to stop -->
<sleep seconds="5"/>
<!-- Send the start request -->
<exec program="sc.exe">
<arg line="\\server start shibd_Default"/>
</exec>

我想知道 SO 社区是否同意我的看法。在 Nant 完成这样的基本事情是否容易得多?当然看起来那样。 CDATA 块中的 C# 代码?跆拳道?

我们当前的构建过程是 a) 大量 bat 文件 b) 大量诅咒。我真的很想找到一个好的替代品,但是 MsBuild 的东西在我看来就像一个痛苦的世界。我在想要走的路是在 Nant 中构建脚本,然后使用 MsBuild 来执行任何需要完成的 .NET 构建。

一个重要问题 : 在脚本运行之前,哪一个更擅长捕捉脚本中的错误?我想在这里滚动我自己的,这是其中非常重要的一部分:排列所有数据并确保在尝试运行之前它有意义。

最佳答案

在 msbuild 中,您还可以使用打包在 msbuild community tasks 中的 ServiceController 任务。 .

关于msbuild - nant 与 msbuild : stopping a service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2196975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com