将.net项目从4.5转换为4.0的最简单方法

本文关键字:最简单 方法 net 项目 转换 | 更新日期: 2023-09-27 17:53:14

我有一个在4.5版构建的。net应用程序,它引用了一堆在4.5版构建的库,这些库本身也引用了4.5,等等。我试图将应用程序分发给的用户组在运行可执行文件时遇到问题,因为他们安装了4.0;特别是,他们会得到MissingMethodException:

Method not found: 'System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid)'.

因为我们可能在让每个用户升级到4.5时遇到麻烦(因为他们都没有在他们的机器上拥有管理权限,这将需要每个用户单独的升级请求),我正在寻找一种简单的方法来将项目重建为4.0。这似乎需要我在4.0中重建每个库及其引用库;有没有比逐一浏览每个库并构建4.0版本更简单的方法?我想也许像一个一键选项"重建所有参考库在目标框架"或类似的东西。

将.net项目从4.5转换为4.0的最简单方法

如果你依赖于。net 4.5 dll,那么如果你想成功降级你的项目,你也需要得到这些dll的。net 4.0版本。. net项目只能引用与引用程序集相同版本的。net dll。

最简单的方法是使用像NuGet这样的工具来管理你的依赖项。请注意,当你在VS中更改项目的目标框架版本时,你需要使用NuGet卸载并重新安装依赖项,因为当你更改目标框架版本时,NuGet不会自动为你做这些。

当然,如果所有的依赖都是你自己的代码,而且你没有通过依赖管理系统(如NuGet)发布这些代码,那么你需要将所有其他代码也降级到。net 4.0

当我使用Visual Studio时,我右键单击项目,更改框架,修复引用并重新编译。通常是直接的

请查看此MSDN页面,以正确地将您的项目切换到较低的目标框架而不会出现问题!对于版本来说,这有点过时了,但是描述的过程是一样的!

这是基于我的经验。我有一个应用程序最初是在。net框架4.5中创建的,但我想在。net框架4.0中转换它。我创建了一个新项目,最初创建了4.0,然后我复制和粘贴了我以前应用程序的所有表单和控件,它工作了。Framework 4.5使用的是Aero2, 4.0使用的是Aero…祝你好运!