Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置dev env以构建windows服务的最佳方法?_C#_Windows Services - Fatal编程技术网

C# 设置dev env以构建windows服务的最佳方法?

C# 设置dev env以构建windows服务的最佳方法?,c#,windows-services,C#,Windows Services,我即将开始构建另一个windows服务,但我从过去的实践中了解到,因为服务需要使用命令行安装,所以构建并没有多大乐趣。是否有一种方法可以设置我的环境,以便在生成后自动重新注册服务 (作为旁注:我知道您可以在构建之后运行命令行,但在服务未注册之前无法构建—如果服务仍在运行)。那么,呃,帮助?寻找Topshelf项目,它简化了我使用windows服务的工作。 您还可以在命令行中运行服务,无需一直注册。 只要阅读文档,也许你会找到适合你需要的解决方案 我有两个服务应该在我的webapp之前启动。对

我即将开始构建另一个windows服务,但我从过去的实践中了解到,因为服务需要使用命令行安装,所以构建并没有多大乐趣。是否有一种方法可以设置我的环境,以便在生成后自动重新注册服务


(作为旁注:我知道您可以在构建之后运行命令行,但在服务未注册之前无法构建—如果服务仍在运行)。那么,呃,帮助?

寻找Topshelf项目,它简化了我使用windows服务的工作。 您还可以在命令行中运行服务,无需一直注册。 只要阅读文档,也许你会找到适合你需要的解决方案


我有两个服务应该在我的webapp之前启动。对于开发,我有两个带有Topshelf代码的控制台项目,所以我使用多个启动项目,它们都在webapp之前启动


对于部署,我只需获取console exe文件并运行install命令即可将其作为普通服务安装,无需创建单独的windows服务项目等。

自定义MSBuild并添加执行适当命令行内容的任务。您知道可以在调试器中将windows服务作为控制台应用程序运行吗。这仍然会给运行该服务的帐户留下问题,但它确实有助于开发。我认为输入预构建命令和后构建命令的编辑框位于同一页面上,大小相同。。。检查是否可以在解决方案属性的“生成事件”选项卡上查看并使用“预生成事件命令行”。