1、VS2022创建新项目,创建成功但是解决方案显示0项目
2、在解决方案中添加现有项目报错“找不到指定的SDK”
在这里插入图片描述
3、利用dotnet --info发现找不到SDK
在这里插入图片描述

系统里同时安装了x86和x64的dotnet sdk,分别在
C:\Program Files (x86)\dotnet以及C:\Program Files\dotnet目录下。使用dotnet命令时,默认是x86的目录,导致找不到sdks。

1、将C:\Program Files (x86)\dotnet中的dotnet.exe删掉或者重命名
2、将系统环境变量PATH中的C:\Program Files (x86)\dotnet置于C:\Program Files \dotnet之后,或者直接将C:\Program Files (x86)\dotnet从系统变量里删掉
在这里插入图片描述
参考链接

电脑明明 安装 Windows SDK ,但就是提示 不到 : MSB8036 不到 Windows SDK 版本 10.0.19041.0。请 安装 所需版本的 Windows SDK ,或者在 项目 属性页 或通过右键单击 解决方案 并选择“重定 解决方案 目标”来更改 SDK 版本。 VS 确定 SDK 是通过一个 sdk manifest.xml来 的,以前的 SDK 版本这个文件都是在 windows sdk 根目录下, 我这里可能是这台机器同时装了 VS 2017的原因。 而新版本的这个文件在 SDK 根目录是 不到 的,所以需要增 Win8下Android SDK 安装 与环境变量配置,具体内容如下 1、下载Android SDK ,点击 安装 ,直接默认路径即可! 进入该网站后往下拉就能 sdk 下载的位置,选择图 红圈的程序进行下载 2、 安装 过程比较简单,按照平时 安装 软件的方式来就行,默认路径 安装 后, 安装 完成,开始配置环境变量。 3、打开计算机属性——高级系统设置——环境变量 4、新建一个系统变量,变量名:ANDROID_HOME,变量值:C:\Program Files \android- sdk (以你 安装 目录为准,确认里面有tools和add-ons等多个文件夹),点击确认。 5、在变量PATH后面加上变量值;%A MSB8036 不到 Windows SDK 版本 8.1。请 安装 所需版本的 Windows SDK ,或者在 项目 属性页 或通过右键单击 解决方案 并选择“重定解决前言方法 有时候“执行调试C++ 项目 ”或者“新建C++ 项目 ”时,会出现下面的编译错误: MSB8036 不到 Windows SDK 版本 8.1。请 安装 所需版本的 Windows SDK ,或者在 项目 属性页 或通过右键单击 解决方案 并选择“重定 解决方案 目标”来更改 SDK 版本。 **那我们该如何解决这个编译错误呢?** 如图所示. 是 NT 4.0,则应从在 Windows 2000 上运行快速入门的远程服务器 读取文档。如果是这种情况,您将能够从本地 运行 Windows 窗体和控制台示例,但 ASP .NET 页 将从远程服务器运行--这称为“混合模式”。 详细信息见内当文档 盲猜一下报错原因是:两个dotnet路径冲突导致的,系统默认去上面的路径 sdk ,没 到。1、设置完环境变量后,需要保存关闭窗口,重新cmd打开,才能生效。重新用 VS 打开 解决方案 项目 加载成功,如图。2、我估计,donet路径删掉也行。报错原因很明显,就是系统 不到 。那就只能去看环境变量有没有问题。文件,发现这个位置用到了。发现有两个dotnet路径。运行结果如下, SDK 到了。果然,系统也没 SDK 。这个 SDK 的存储路径。然后点击确定,关闭窗口。使用cmd打开,执行。关掉原来的cmd窗口。 6、这时倒回cmd去看 dotnet --info就会有具体的 SDK 信息了,并且 vs 能正常新建 项目 、正常打开 项目 了。3、你会报错的话,这里一定是空的,而不是像我一样 显示 了具体的 SDK 。5、把Program Files(x86)删掉就可以解决报错了。2、输入 dotnet --info。4、打开计算机环境变量。 安装 VS 2019后,创建了A 项目 ,引用了高版本的 SDK ;编译通过 安装 VS 2017后,重新打开A 项目 ,这时将其 SDK 版本换成其他版本(低版本 SDK );未编译 新建 项目 属性页(视图– 解决方案 项目 下Debugx64右键添加新 项目 属性表);编译失败 编译结果类似如下: 问题产生原理 vs 2019 安装 时的 sdk 信息是写在注册表 的,不管新 安装 vs 2017是否卸载 vs 2019都会出现这个问题,因为 项目 自带的属性管理表始终读的注册表的值 Visual Studio 项目 到 Makefile 该 项目 旨在成为一种将 项目 构建信息从 Visual Studio 项目 文件格式自动转录为 makefile 的方法。 大体架构是先将所有 VS 文件解析成反映 VS 项目 文件打包信息的数据结构。 然后,从这些结构 ,使用更通用的 项目 描述格式 ( cproj )。 最后,使用 cproj 数据结构作为输入,可以使用任何类型的构建系统生成器。 在这个 项目 ,提供了一个 makefile 生成器。 cproj.* 下的所有包都与加载 VS 项目 文件并将它们转换为通用 CProj 格式有关。 jd2m.* 下的包特定于,对一般的 VS -to-make 翻译过程没有任何用处。 尽管如此,它们为实际 项目 核心提供了很好的参考和测试。 此外,可能还有一些通用功能留在那里,因为核心功能的分解并没有在整个过程 进行。 这个 项目