C++ Windows SDK 8:关于安装位置、文件夹名称和WindowsSdkDir_旧环境变量的混淆

C++ Windows SDK 8:关于安装位置、文件夹名称和WindowsSdkDir_旧环境变量的混淆,c++,windows,visual-studio,winapi,C++,Windows,Visual Studio,Winapi,在使用Visual Studio 2012构建系统时,我意识到,与以前的SDK版本不同,Windows SDK 8安装在两个不同的位置 C:\Program Files (x86)\Windows Kits\8.0\ - Everything sans .NET 4.5 如中所述 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0\InstallationFolder HKEY_LOCA

在使用Visual Studio 2012构建系统时,我意识到,与以前的SDK版本不同,Windows SDK 8安装在两个不同的位置

C:\Program Files (x86)\Windows Kits\8.0\ - Everything sans .NET 4.5 
如中所述

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0\InstallationFolder
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\InstallationFolder

如中所述

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0\InstallationFolder
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\InstallationFolder
微软似乎已经将核心SDK与.NET框架隔离开来

我也试着去联系

 *    %VS_HOME%\VC\bin\vcvars32.bat
 *    %VS_HOME%\VC\bin\x86_amd64\vcvarsx86_amd64.bat
 *    %VS_HOME%\VC\bin\amd64\vcvarsamd64.bat
现在正在运行,它似乎引用了WindowsSdkDir_旧版的.NET4.5Framework位置

我意识到的其他有趣的事情是

  • %WindowsSdkDir%\Include有三个层次结构:共享、um和WinRT
  • Windows SDK与VS 2010一起安装,但与VS 2012一起,我必须单独安装
  • 所以我的问题是

  • 是否有任何特定的理由将.NET 4.5从核心SDK中分离出来
  • 将.NET 4.5安装位置称为WindowsSdkDir_old的原因是什么
  • 为什么Windows SDK 8.0A不是VS 2012安装包的一部分
  • 我可以在VS 2012中继续使用Windows SDK 7.1A吗
  • 包含路径%WindowsSdkDir%\include[Shared | um | WInRT]的意义是什么
  • 为了

  • .NET由不同的内部组织(开发部门)构建;SDK是由Windows构建的
  • 不知道
  • Visual studio从未安装任何Windows SDK。SDK中有千兆字节的示例和工具不是Visual Studio的一部分
  • 是的,Windows SDK的早期版本可以与VS 2012配合使用
  • 不确定
    um
    ,但
    WinRT
    文件特定于Windows运行时,桌面应用程序无法(轻松)使用。最好把它们分开

  • 找到这些问题的真实答案的可能性与找到Sinofsky真正辞职原因的几率相当。很好!!感谢您的回答。根据版本不同,Gm代表“用户模式”3不正确。安装Visual C++用于构建桌面应用程序的任何版本都安装Windows SDK。旧版本安装了一个轻量级版本,只包括头、库和一些SDK工具。较新版本安装完整的SDK。