我正忙于编写自定义 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 服务好吗?