【问题标题】:Service cannot be started. System.IO.FileNotFoundException无法启动服务。 System.IO.FileNotFoundException
【发布时间】:2016-04-23 13:41:30
【问题描述】:

我想使用 Windows 服务托管我的 WCF 服务,但是当我想启动我的 Windows 服务时,我在事件查看器中收到以下错误:

服务无法启动。 System.IO.FileNotFoundException:不能 加载文件或程序集 'RahatWcfServiceLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。这 系统找不到指定的文件。文件名: 'RahatWcfServiceLibrary,版本=1.0.0.0,文化=中性, PublicKeyToken=null' 在 RahatWindowsService.Service1.OnStart(String[] 参数)在 System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(对象 状态)警告:程序集绑定日志记录已关闭。启用组装 绑定失败日志,设置注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 为 1。注意:有 是与装配绑定失败相关的一些性能损失 记录。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

【问题讨论】:

标签: c# wcf service windows-services


【解决方案1】:

确保可以从服务中访问 RahatWcfServiceLibrary.dll。可以在同一目录下;它可以在 GAC 中;或者它可以在%PATH% 的某些目录中。见How the Runtime Locates Assemblies

【讨论】:

  • 您能解释一下吗?我是 C# 新手。
  • 如果您的服务是可执行文件,请尝试将程序集放在同一目录中。您可以检查 Windows 服务的“执行路径”属性以找出目录。希望对你有帮助
  • 错误已更改:服务无法启动。 System.InvalidOperationException:服务“RahatWcfServiceLibrary.ServerDateTime”的应用程序(非基础设施)端点为零。这可能是因为没有为您的应用程序找到配置文件,或者因为在配置文件中找不到与服务名称匹配的服务元素,或者因为在服务元素中没有定义端点。 ...
  • 好吧,您是否尝试过使用这些 WCF 端点添加 .config 文件?它与可执行文件命名相同,但扩展名为.config。 (确实,如果没有 WCF 服务的访问方式,那是没有用的。)
【解决方案2】:

检查 .dll 是否与 “可执行文件的路径:” 位于同一路径。

  1. 转到服务(按 Windows 键 + R,然后输入 services.msc
  2. 找到您的服务
  3. 右键单击服务并转到属性
  4. 检查可执行文件路径:路径
  5. 将丢失的 .dll 复制到该路径中
  6. 再次点击开始服务

您将启动并运行该服务。

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 2011-08-05
    • 2017-03-20
    相关资源
    最近更新 更多