Windows SDK 8:关于安装位置,文件夹命名和WindowsSdkDir_old env变量的混淆

Abh*_*jit 7 c++ windows winapi visual-studio

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

C:\Program Files (x86)\Windows Kits\8.0\ - Everything sans .NET 4.5 
Run Code Online (Sandbox Code Playgroud)

如提到的那样

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0\InstallationFolder
Run Code Online (Sandbox Code Playgroud)

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\
Run Code Online (Sandbox Code Playgroud)

如提到的那样

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\InstallationFolder
Run Code Online (Sandbox Code Playgroud)

似乎Microsoft已将Core SDK与.NET Framework隔离开来

我也尝试与如何相关联

 *    %VS_HOME%\VC\bin\vcvars32.bat
 *    %VS_HOME%\VC\bin\x86_amd64\vcvarsx86_amd64.bat
 *    %VS_HOME%\VC\bin\amd64\vcvarsamd64.bat
Run Code Online (Sandbox Code Playgroud)

现在正在工作,似乎它将.NET 4.5 Framework位置与WindowsSdkDir_old一起引用

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

  1. %WindowsSdkDir%\ Include有三个层次结构:Shared,um和WinRT
  2. Windows SDK已经与VS 2010一起安装,但是对于VS 2012,我必须单独安装它.

所以我的问题是

  1. 是否有任何特定的理由将.NET 4.5与核心SDK分开?
  2. 将.NET 4.5安装位置称为WindowsSdkDir_old的原因是什么
  3. 为什么Windows SDK 8.0A不是VS 2012安装包的一部分?
  4. 我可以继续在VS 2012中使用Windows SDK 7.1A吗?
  5. 包含路径%WindowsSdkDir%\ Include [Shared |.]的重要性是什么?嗯| WInRT]?

Eri*_*own 2

为了...

  1. .NET是由不同的内部组织(开发部门)构建的;SDK是由Windows构建的。
  2. 不知道
  3. Visual Studio从未安装任何Windows SDK。SDK 中有大量示例和工具,它们不属于 Visual Studio。
  4. 是的,以前版本的 Windows SDK 可以在 VS 2012 上正常工作。
  5. 不确定um,但WinRT文件特定于 Windows 运行时,并且不能(轻松)由桌面应用程序使用。最好将它们分开。