安装Framework4.0时提示:Microsoft .NET Framework 4 已是此操作系统的一部分。不需要安装 .NET Framework

一、问题描述

win10系统,老项目需要安装Framework4.0 ,然后一直提示如下:

Microsoft .NET Framework 4 已是此操作系统的一部分。不需要安装 .NET Framework 4 可再发行组件包。

二、解决路径尝试(未完成)

1、控制面板的,启用或关闭windows功能 中取消勾选.net framework 4.8等高于4.0的版本。重启电脑,看看有用不。我测试无效,继续下一步。

2、修改注册表。

(1)、首先Win+R 输入regedit打开注册表编辑器,找路径,计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client,这个下面有几个Version键值4.8.09037。把他改成低版本的比如 4.0.30319.1。

如果你能正常修改键值,把这个Client目录下的framework相关的版本号都改一下,重启电脑,再次安装试试。我的是不能正常修改,还要继续下一个操作。

(2)、我这里修改注册表时提示:无法编辑 Version: 写该值的新内容时出错,在左侧注册表目录里点右键--权限,把当前登录账户权限加上去。

(3)、又给我提示:无法保存对 1033 权限所作的更改。如下图:

(4)、这时候,需要点击【高级 】;高级安全设置窗口,点击所有者旁边的【更改 】;然后选择WIN-P9R8PTC4TTS\Administrators 用户组,前面的计算机名每个人不一样,只管选Administrators 就好了。

(5)这时候,我们修改这项Administrators 的权限,改为完全控制。返回到权限列表也看到完全控制了。 这时候就可以修改注册表值了。

3、一个比较无奈的,但是一般有效的办法。下载nuget版本的资源包放到framework对应目录运行。

打开一个.NET解决方案,在某个 工程的包上点右键-管理nuget程序包,打开到包管理器,按自己要的版本号查询nuget包,安装nuget包,如下面的。

microsoft.netframework.referenceassemblies.net40

microsoft.netframework.referenceassemblies.net45

在安装的nuget包里,对着想要的framework包点右键--在文件资源管理器中打开文件夹

然在打开的文件夹里找到对应版本的文件夹名称。 如我的目录:C:\Users\Administrator\.nuget\packages\microsoft.netframework.referenceassemblies.net45\1.0.3\build\.NETFramework

把需要加的framework版本文件夹复制到下面的目录里

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework

然后重新打开你的项目,重新加载之前加载不起来的项目。如下图

相关推荐
无风听海6 小时前
.NET10之ASP.NET Core的Filter管线
java·asp.net·.net
无风听海6 小时前
.NET10之从进程角度理解dotnet run
.net
wfserial18 小时前
c#使用微软自带speech选择男声仍然是女声的一种原因
microsoft·c#·speech
山岚的运维笔记1 天前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
凯子坚持 c1 天前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
穿过锁扣的风1 天前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
山岚的运维笔记2 天前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
鸽芷咕2 天前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
缺点内向2 天前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net