如何以编程方式检查.NET 4.7 Target Pack是否已安装?
好的,针对你这种没有安装Visual Studio、仅安装了.NET Framework 4.7的场景,有几种实用的方法可以验证.NET 4.7 Target Pack是否已安装:
检查注册表项
按下Win + R打开运行窗口,输入regedit启动注册表编辑器,导航到以下路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
(64位系统建议同时查看HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full)
在该路径下,重点查看两个值:TargetVersion:如果值为4.7.xxxx(例如4.7.02556这类具体版本号),说明.NET 4.7 Target Pack已安装。Release:.NET 4.7对应的Release数值为460798(Windows 10创意者更新及以上系统)或460805(Windows 7/8.1更新后系统),存在该数值也可佐证安装状态。
查看参考程序集目录
打开文件资源管理器,检查以下路径是否存在且包含完整的程序集文件:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7
如果这个文件夹存在,并且里面有System.dll、System.Core.dll等标准.NET程序集,就代表.NET 4.7 Target Pack已经安装完成——因为Target Pack的核心就是这些供编译引用的程序集文件。通过MSBuild命令行验证
打开命令提示符(CMD)或PowerShell,先导航到MSBuild的安装目录(常见路径如C:\Program Files (x86)\MSBuild\14.0\Bin或C:\Program Files\dotnet\sdk\[你的SDK版本]\MSBuild\Current\Bin),然后执行以下操作:- 先确认MSBuild可用:运行
msbuild /version,如果能正常输出版本信息,说明MSBuild已正确安装。 - 创建一个简单的测试项目文件(命名为
TestNet47.csproj),内容如下:<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <TargetFramework>net47</TargetFramework> </PropertyGroup> </Project> - 在项目文件所在目录运行
msbuild TestNet47.csproj,如果命令能成功执行,没有提示"找不到目标框架net47"之类的错误,就证明.NET 4.7 Target Pack已安装。
- 先确认MSBuild可用:运行
内容的提问来源于stack exchange,提问作者Mandalorian

