在vs2012中为Windows服务应用程序设置项目
本文关键字:应用程序 设置 项目 服务 Windows vs2012 中为 | 更新日期: 2023-09-27 18:17:48
我在vs 2012中有一个windows服务应用程序,我已经为它创建了一个安装项目。问题是,当我运行setup时,它会在目录中安装应用程序文件,但服务本身没有在任务管理器的服务中列出。服务设置不正确
谁能给一个澄清如何正确地创建windows服务应用程序在vs2012中的设置项目
我认为这个问题太笼统了,因为你没有发布你的代码样本。无论如何,看看topshelf项目,它基本上使创建带有安装程序的windows服务变得非常容易,并且能够将服务作为控制台应用程序进行调试。
这是一个来自文档的示例windows服务,您可以通过简单地编译project,然后从命令行编译TownCrier.exe install
来安装它。您还可以卸载,设置不同的安装凭证和重试。
public class TownCrier
{
readonly Timer _timer;
public TownCrier()
{
_timer = new Timer(1000) {AutoReset = true};
_timer.Elapsed += (sender, eventArgs) => Console.WriteLine("It is {0} an all is well", DateTime.Now);
}
public void Start() { _timer.Start(); }
public void Stop() { _timer.Stop(); }
}
public class Program
{
public static void Main()
{
HostFactory.Run(x => //1
{
x.Service<TownCrier>(s => //2
{
s.ConstructUsing(name=> new TownCrier()); //3
s.WhenStarted(tc => tc.Start()); //4
s.WhenStopped(tc => tc.Stop()); //5
});
x.RunAsLocalSystem(); //6
x.SetDescription("Sample Topshelf Host"); //7
x.SetDisplayName("Stuff"); //8
x.SetServiceName("stuff"); //9
}); //10
}
}