【问题标题】:Impossible to create windows service via DLL?无法通过 DLL 创建 Windows 服务?
【发布时间】:2011-12-31 10:41:03
【问题描述】:

我在 DLL 项目中编写了一个 Windows 服务。 (c#)

代码一切正常,InstallUtil 也很好:

当我启动它时 - 通过 services.msc - 它告诉我

这是为什么呢?我必须使用 EXE 文件(EXE 项目)吗?

我不需要 exe 文件的好处。

我只需要将我的 dll 激活为服务

可能吗?

【问题讨论】:

标签: c# windows-services


【解决方案1】:

我必须使用 EXE 文件(EXE 项目)吗?

是的。每个 Windows 进程首先加载一个 exe,然后是其依赖项,然后执行该 exe 的入口点。

如果您的 dll 中有合适的入口点(本质上是 Main),那么只需调用该入口点的简单 exe 就足够了。

【讨论】:

  • 那么我可以通过在 dll 文件中添加 Main 条目来伪造它吗?
  • @RoyiNamir 没有。(或者至少不是以任何不比仅使用 exe 加载您的 dll 复杂得多的方式。)
  • @RoyiNamir - 创建一个调用 DLL 的 exe 并不难。
  • @oded 你说得对。我只是想了解它不起作用的原因。 (虽然这很奇怪,因为我的 dll 确实继承了适当的命名空间并具有 onStart 和 OnStop 方法......我猜我需要干净的 exe 文件......但它在一个 DLL 没有的入口点问题上有意义)
猜你喜欢
  • 2018-05-18
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
相关资源
最近更新 更多