2

我已经使用 Framework Verison 4.0 构建了一个 Windows 服务代码,当我将我的 service.exe 发送到安装了 2.0 版的不同机器上进行安装时,它给出了错误:

“初始化安装时出现异常:

System.BadImageFormatException:无法加载文件或程序集“\service.exe”或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载”

如何在 Visual Studio 中构建向后兼容的服务

4

3 回答 3

2

将您的目标框架更改为 2.0,并确保您不使用不属于 2.0 的任何内容(例如 TPL 等),否则,请在目标计算机上安装 .NET 4

在此处输入图像描述

于 2013-06-14T14:29:40.017 回答
1

你不能跑.NET v4.0 code进去.NET v2.0 runtime.NET v4.0在服务器上安装或将您的服务转换为.NET v2.0

于 2013-06-14T14:29:43.950 回答
0

当您安装了 .net framework 4.0 时,您可以运行目标框架值为 2.0 、 3.0 、 3.5 和 4.0 的任何应用程序,当您安装了 .net framework 3.5 时,您可以运行任何具有目标框架值的应用程序作为 2.0 、 3.0 和 3.5 ,就这样继续下去。这是 .net framework 的强制性要求,所以如果您要求您的客户安装 .net framework 4.0 或创建服务会更好(我希望这是 windows 服务而不是 wcf 服务,因为 wcf 仅支持框架版本 3.0)以框架版本 2.0 为目标的项目。

于 2013-06-14T14:48:02.257 回答