Can';t启动服务,错误1053,在Visual Studio中生成,c#
所以我做了一个小的服务项目,但它不会启动。 它自己安装,但我没有自动启动。 它在Windows7,64位系统上 当我在服务中找到它时,右键单击该服务并启动它,大约30秒后,它将超时并显示错误1053 我以发行版的形式运行程序,而不是调试。 尝试以本地管理员的身份安装,并以本地管理员的身份执行所有操作。 OnStart()和OnStop()方法是空的,没有代码,我将其全部删除以消除可能的内容。 尝试在OnStart()的开始处放置一个我知道有效的小日志操作(安装成功时我使用它创建日志文件),但它从未到达 帮忙 编辑: 这是我的Program.cs代码:Can';t启动服务,错误1053,在Visual Studio中生成,c#,c#,windows,service,C#,Windows,Service,所以我做了一个小的服务项目,但它不会启动。 它自己安装,但我没有自动启动。 它在Windows7,64位系统上 当我在服务中找到它时,右键单击该服务并启动它,大约30秒后,它将超时并显示错误1053 我以发行版的形式运行程序,而不是调试。 尝试以本地管理员的身份安装,并以本地管理员的身份执行所有操作。 OnStart()和OnStop()方法是空的,没有代码,我将其全部删除以消除可能的内容。 尝试在OnStart()的开始处放置一个我知道有效的小日志操作(安装成功时我使用它创建日志文件),但它从
namespace TestService
{
static class Program
{
// The main entry point for the application.
static void Main()
{
//Install self
SelfInstaller.InstallMe();
}
}
}
这是我的Library.cs:
namespace TestService
{
//Library to store public methods
public static class Library
{
//Method to write to a logfile
public static void WriteLogFile(string Message)
{
StreamWriter sw = null;
try
{
sw = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "\\Logfile.txt", true);
sw.WriteLine(DateTime.Now.ToString() + ": " + Message.ToString());
sw.Flush();
sw.Close();
}
catch
{
//empty
}
}
}
}
这是我的Service1.cs:
namespace TestService
{
public partial class Service1 : ServiceBase
{
//Initialize
public Service1()
{
InitializeComponent();
}
//On service start
protected override void OnStart(string[] args)
{
}
//On service stop
protected override void OnStop()
{
}
}
}
看起来你找到了一个,但只找到了一半
您当前的main()
代码将在每次尝试启动时安装该服务:
static void Main()
{
//Install self
SelfInstaller.InstallMe();
}
因此,这不会让ServiceManager知道服务已经启动,因为它没有启动
您需要在main()
中决定是启动、安装、卸载还是调试服务。通常使用命令行参数执行此操作,其中未提供参数意味着“启动服务”
该教程中也介绍了如何执行此操作。您能提供您的代码吗?所以即使是空白服务也会失败?听起来很奇怪。。你能显示你所有的代码吗?编辑过的帖子。但是,是的,它是空的。还试图删除自安装程序,只是用InstallUtil.exe安装,同样的事情,但现在它会立即给出错误,而不是过一段时间。以前从未使用过服务,现在我觉得自己很愚蠢。谢谢没问题,一切都是第一次。当学习一项新技术时,阅读文档以熟悉核心原则确实很有帮助,而不是遵循一个没有太多解释就可以复制粘贴代码的教程。