2009-08-27 110 views
0

关于创建Windows服务我有几个问题。 我已经创建了一个Windows服务。但我得到一个错误重新编写。 public partial class xyz:servicebase { public xyz() { InitializeCompoenent(); } }关于创建Windows服务的问题

它无法解析InitializeComponent()。是否有人有任何理由。 我已经将其设置为控制台应用程序而不是Windows应用程序。

+0

对不起,恐怕标签“asp.net”不相关。 – 2009-08-27 15:19:34

+0

@ o.k.w。修复它 – 2009-08-27 15:21:41

+1

对不起,你是说它*作为控制台应用程序而不是Windows服务? – 2009-08-27 15:22:40

回答

2

您使用了控制台应用程序模板?这是不对的,你将不得不做一些手动工作,如创建InitializeComponent()方法。最好的解决方案是使用Windows服务应用程序模板创建一个新项目。有关完整说明,请参阅http://msdn.microsoft.com/en-us/library/zt39148a.aspx

+0

是的,如果您已经编写了很多代码,那么重新创建一个新的Windows服务项目并将代码复制到正确的位置并不麻烦。 – 2009-08-27 15:28:13

+0

@okw:密码?为什么在将代码移动到仅由控制台应用程序和Windows服务提供的项目中时进行复制/粘贴? – Amy 2009-08-28 18:24:24

+0

是从头开始创建一个Windows服务解决了上述问题。 – alice7 2009-08-28 19:44:36

0

在您的项目上选择Add-> New item-> Windows Service。给你的服务命名。

现在,从您的控制台文件(我从缺乏信息猜测)导入您使用的必要代码到服务文件。

因此,现在您的项目中将有一个有效的窗口服务组件。您可以删除旧的控制台文件。

不要忘记修改主代码中的Program.cs:

static class Program 
{ 
    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main() 
    { 
     ServiceBase[] ServicesToRun; 
     ServicesToRun = new ServiceBase[] 
     { 
      new YourService(); 
     }; 
     ServiceBase.Run(ServicesToRun); 
    } 
} 
0

如果你想在命令行调试目的运行,然后检查了这一点this answer