DotNetSdkRoot 路径不正确解决方案

.NET Framework SDK 4.6.1 升级安装时未能正确更新路径,导致编译错误,例如找不到 clrdata.h 等。
微软喜欢把变量值抽象许多层之后写在各种隐蔽位置,调试多次后终于找到,记载如下。

C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\10.0.10586.0\UAP.props
在这个文件中将两处 4.6 替换为 4.6.1。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0\14.0
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0\14.0

将 FrameworkSDKRoot 和 SDK40ToolsPath 中的 4.6 替换为 4.6.1。

另外 Windows SDK 8.1 升级到 10.0.10240 / 10.0.10586 时也有类似的问题,导致新项目的默认 SDK 版本停留在 8.1,但可以通过项目菜单中的“重定解决方案目标”暂时解决。待有空时再寻找永久解决方案。

发表评论

电子邮件地址不会被公开。 必填项已用*标注