.net - Visual Studio 无法识别 .NET Framework 4 及更高版本
问题描述
问题:Visual Studio Professional 2013 似乎无法识别我的计算机上安装了 .Net 4 或 4.5 到 4.7。它不会在“目标框架”下拉列表中显示任何这些。我之前为 4.5 制作的 C# 项目不再加载或编译(它曾经在同一台机器上工作)。
它看起来像这样:目标下拉
我在这个问题上浪费了五天多。我已经多次搜索互联网和这个网站,并仔细阅读了与这个问题有关的每一页。我实际上尝试了几十件事,其中一些以不同的顺序多次,但没有任何帮助:
重新安装 .NET,我能找到 4.5-4.7 的所有版本(是的 SDK 版本以及多目标版本)。
卸载所有 .NET 安装,使用 .NET 清理工具,使用 .NET 修复工具,手动检查我能找到并删除的每个 .NET 文件夹和注册表项,然后重新安装 .NET 4.5 SDK。
重新安装和修复 Visual Studio 2013,或手动删除驱动器上各处的所有 Visual Studio 文件和文件夹,然后重新安装。
分别安装各种 Windows SDK,并安装 MSBuild 2015。
当我在另一台新的 VM 机器上安装相同的 VS2013 时,它工作正常。我尝试比较两台机器几天,甚至将整个 .Net/SDK/MSBuild 文件夹和注册表分支从好的 VM 复制到我的机器,但找不到丢失或配置错误的内容。
我尝试使用 ProcessMonitor 和其他工具/逻辑仔细调试它 2 天,但可以找到任何有帮助的东西(有数千行与 .NET 有关,所以这是一项不可能完成的任务。)
我尝试使用“SET TRACEDESIGNTIME=true”并查看日志。但我无法弄清楚许多设置中哪些是重要的或缺失的。我确实注意到“SDK40ToolsPath”是空的,我通过在命令行中设置这些值来解决这个问题,这些值也被错误配置:
SET MSBuildExtensionsPath=C:\Program Files (x86)\MSBuild SET MSBuildExtensionsPath32=C:\Program Files (x86)\MSBuild
这似乎对路径值有用,但在 VS 中仍然没有 .NET 4+。如果 SDK40ToolsPath 设置不正确,也许还有其他更基本的属性我应该担心?
我束手无策,我希望我不必为此重新安装 Windows,因为这将需要一周的时间。如果有人对 VS 如何检测 .NET 框架版本或如何解决此问题有任何见解,我将不胜感激。
解决方案
推荐阅读
- c - cuda 内核没有访问数组的所有元素
- javascript - 为什么我从 c# 到 js 得到不同的 MD5 哈希?
- node.js - 如何使节点需要来自 node_modules 的 es5 lib
- android - 有没有办法将 Koin 注入与泛型一起使用?
- android - 在 APK 中包含以下划线 (_) 开头的类加载器资源
- reactjs - 货币格式反应
- reactjs - 根据标志的值编写 React 应用程序
- python - pymssql ValueError: list.remove(x): x not in list
- javascript - 获取父列表的特定子项
- google-apps-script - 是否可以在不隐藏工作表的情况下将单个工作表导出(使用 Google 脚本)为 PDF?