【发布时间】:2013-06-27 06:01:50
【问题描述】:
我正忙于编写自定义 Windows 服务来处理服务器上的 MSMQ 消息,但安装(使用 InstallUtil)一直失败并出现以下错误:
“System.InvalidOperationException:无法获取安装程序类型 'x'.exe 程序集。内在异常 System.Reflection.ReflectionTypeLoadException 被抛出 以下错误消息:无法加载一个或多个请求 类型。检索 LoaderExceptions 属性以获取更多信息。”
我在服务中使用了 3 个我自己的程序集。所有这些都设置为“复制本地”,所有其他引用的程序集都在 GAC 中。我已验证不在 GAC 中的所有其他引用程序集都在包含我的服务的 .exe 文件的文件夹中。
我也尝试过签署我的程序集(如果这值得...)
我也在 Google 上查看过,但在大多数情况下,问题要么通过服务包解决,要么安装一些专有软件,这显然解决了缺少依赖项的问题。
我编写了一个简单的 POC 服务,没有引用任何运行良好的“外部”程序集...
我正在 Windows 7 机器上进行开发和测试。
有什么想法吗? 谢谢!
编辑: 好吧,很奇怪...我使用 PostSharp 进行异常处理和日志记录...我删除了对 PostSharp 和我的方面的引用,并且它安装没有问题... o_O 为什么 PostSharp 之类的东西不能很好地与 Windows 服务配合使用?
【问题讨论】:
标签: c# visual-studio-2012 windows-services installutil