C# VB.NET 安装卸载windows服务错误

一、背景

笔者自己使用vs2017编写了一个数据采集的windows服务程序(.net4.5),同时又编写了一个控制windows服务安装卸载的winform程序(.net3.5)。

二、错误信息

{System.BadImageFormatException: 未能加载文件或程序集“file:///E:\***\***.exe”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。

三、分析

看了一篇博客,老哥也是遇到这问题,看他提到了要将VS项目属性改为x86,还提到windows上安装.net4.0,由.net4.0受到启发,

x86的话 windows服务程序和控制安装卸载的winform都已改为x86。

难道是它们的.net版本不一致?

windows服务是.net4.5

winform是3.5

然后将winform改为.NET4.5,重新编译,可以安装,卸载windows服务了。

四、原因

个人水平原因及网上也没搜到相关答案,这个原因只能去猜测,目前我也没啥证据。

猜测winform程序卸载windows服务时,可能会调用windows服务相关的.NET底层的一些库也好,组件也好。

因为之前winform是3.5编写的,安装或卸载时,调用windows服务相关的.NET 4.5的基础组件或库时,就可能出现问题了。

即出现了上面的错误信息。

这个原因分析属于猜测,如有准确答案,望留言指教!

猜你喜欢

转载自blog.csdn.net/iandbeyond/article/details/81323904