【问题标题】:Windows Service: The module was expected to contain an assembly manifestWindows 服务:该模块应包含程序集清单
【发布时间】:2015-03-27 22:35:31
【问题描述】:

我有一个作为 Windows 服务构建的 C# 程序。我上周进行了测试,它运行良好,但今天我遇到了错误。

当我尝试使用 installutil.exe 进行安装时,出现错误:

无法加载文件或程序集 [文件名] 或其依赖项之一。该模块应包含程序集清单。

重建项目没有效果。我还在任务管理器中注意到该服务仍在列出并运行。在可能会干扰安装的情况下,我尝试通过 installutil 卸载,但再次收到相同的错误消息。

我见过许多与此错误相关的其他问题,但大多数问题要么没有答案,要么没有与他们的独特情况相关的非常具体的答案。有没有人发生过这种情况,你是如何解决的?任何想法都表示赞赏。

更新:

我通过命令提示符使用“sc delete”命令成功卸载了服务,但在尝试重新安装时我仍然从 installutil 中收到相同的错误。

更新 2:

只是为了尝试一些东西,我从项目中删除了 bin 文件夹,重新打开了解决方案,然后进行了清理和构建。它仍然无法安装,但现在我收到了不同的消息:

此程序集由比当前加载的运行时更新的运行时构建,无法加载。

问题:

什么会导致运行时不匹配?据我所知,我只使用过 .NET Framework 4.5 并没有偏离。是否有我应该查看/更改以解决此问题的值?

更新 3:

这是我迄今为止尝试过的:

一个答案表明正在使用的 installutil 版本很重要。我一直在运行 v2.0.50727,但还有一个我没想过要尝试的 v4.0.30319。运行结果:

试图加载格式不正确的程序...

我愿意改用那个错误,如果它会解决问题。但是,我不得不认为这不是问题,因为在第一个错误弹出之前我已经成功运行了 v2.0.etc。

在 App.config 中,有一行“supported Runtime version=v4.0”。我把这个改成 4.5,但效果好坏都没有。

我尝试将目标框架(在项目属性下)切换到 4.0,但这会导致错误:

一些 NuGet 包是使用与当前目标框架不同的目标框架安装的,等等...

这是指 EntityFramework,我宁愿不再开始使用 NuGet,除非它是唯一的方法(上次它是一场噩梦)。

我尝试在目标服务器(它最终将被部署到的机器)上安装该服务并得到同样的错误。这让我认为这是项目/解决方案的问题,而不是电脑的问题。

【问题讨论】:

  • 32/64 位差异?
  • @Lloyd:这是 64 位系统上的 64 位程序。另外,它是之前运行的同一台机器。
  • 为什么服务运行的时候还运行installutil.exe???
  • @HansPassant:你具体要问什么?我最初没有意识到它在尝试安装时正在运行。当我注意到它时,我停止了服务并尝试卸载。有没有其他不使用 installutil 的卸载方式?

标签: c# windows-services


【解决方案1】:

看起来像程序集加载问题。使用Fuslogvw.exe 实用程序。从 Visual Studio 命令提示符启动它。单击“设置”按钮,然后单击“将失败记录到磁盘”单选按钮。切换回VS并启动程序并等待异常发生。返回 Fuslogvw,单击 Refresh 按钮并双击添加的条目。它会显示它找到的文件。

另一种可能性是尝试使用要求 CLR 版本 2 的 EXE 加载 .NET 4 程序集。这需要一个强制使用 CLR 4 的 app.exe.config 文件。

【讨论】:

  • 好的,我现在正在尝试使用 fuslogvw.exe,但双击时它没有显示任何文件。我不知道这是否重要,但我无法从 Visual Studio 运行该程序,因为它是 Windows 服务。将 fuslogvw 与 installutil 一起使用似乎不会产生结果。
  • 您必须以管理员权限运行 fuslogvw.exe。使用 installutil.exe 安装服务时将其保持打开状态。然后,单击 fuslogvw.exe 中的“刷新”按钮以加载信息。如果您想查看完整报告,请单击“查看日志”。希望这会有所帮助。
  • 我又试了一次,但现在点击刷新按钮时没有显示任何应用程序。
猜你喜欢
  • 2012-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多