解决win10无法打开.net

解决win10无法打开.net

背景

最近新装了一个win10系统,运行powershell的时候却发现缺少文件?
经过百度发现是因为系统里面没有.NET框架,这个不是win10已经自带了么…
打开控制面板->打开或关闭系统功能一波操作以后…竟然一瞬间就完成了?讲道理.NET是个挺大的组件的啊…打开看看装上了吗…刚刚勾上的箭头竟然没了orz…
不过身经百战的我还是不慌,使用dism大法!按照之前的有效的抢救方法又一波操作,竟然还是失败了,遂必应之。

解决

经过搜索,发现确实是用dism来解决,只是上面的方法还是太嫩了。
参考这篇文章:http://www.winwin7.com/JC/16687.html,我发现之前dism大法失败的原因是包名不对,但获取包名之后使用这篇文章的方法还是不行,原因是这篇文章里的工具已经被win10弃用,现在必须统一用dism来安装
遂经过试验后得出如下结论步骤:

  1. 首先以管理员身份运行cmd, 输入以下命令:
    dism /online /Get-Features >D:\1.txt
    会在D盘生成一个文件,点开之后看到下面的内容:
    ``` txt

部署映像服务和管理工具
版本: 10.0.18362.1

映像版本: 10.0.18363.535

程序包功能列表 : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.18362.418

<…此处省略若干功能…>

功能名称 : Microsoft-Windows-NetFx3-OC-Package
状态 : 已禁用

功能名称 : Microsoft-Windows-NetFx4-US-OC-Package
状态 : 已禁用

功能名称 : Microsoft-Windows-NetFx3-WCF-OC-Package
状态 : 已禁用

功能名称 : Microsoft-Windows-NetFx4-WCF-US-OC-Package
状态 : 已禁用

操作成功完成。

此处最后四个带有`NetFx`字样的功能就是.NET框架。  
2. 接着去网上下载一个对应版本的win10镜像,推荐这个网站:https://uup.rg-adguard.net/里面有win10的各种版本的镜像和更新包,并且使用aria2下载,不会被各种限速,并且内容清真,100%官方原版。  
3. 之后用windows资源管理器打开这个镜像,会创建一个盘符,比如E盘,或者把镜像中的sources目录解压到一个文件夹中,然后运行以下命令:(记得把`E:`改成你镜像映射到的盘符或者解压到的目录)  
``` bat
Dism /online /enable-feature /featurename:Microsoft-Windows-NetFx3-OC-Package  /All /Source:E:\sources\sxs /LimitAccess
Dism /online /enable-feature /featurename:Microsoft-Windows-NetFx4-US-OC-Package  /All /Source:E:\sources\sxs /LimitAccess
Dism /online /enable-feature /featurename:Microsoft-Windows-NetFx3-WCF-OC-Package  /All /Source:E:\sources\sxs /LimitAccess
Dism /online /enable-feature /featurename:Microsoft-Windows-NetFx4-WCF-US-OC-Package  /All /Source:E:\sources\sxs /LimitAccess
  1. 运行完之后重启系统,完成安装!
    之后就可以运行依赖.NET框架的程序啦~~~