没啥用的废话+牢骚
新建了一个Unity3d项目,代码开始写的时候突然发现无法跳转定义或者实现了,打开VSCode拓展宿主的输出栏,发现c#的插件提示我“A valid dotnet installation could not be found”,没有找到我安装的dotnet,我打开程序看了下我四五个版本的dotnet sdk陷入了沉思,没办法,删除掉了几个,保留4.7.1给unity,一个7.0以上的版本给其他开发,结果还是不行,配置环境变量不行,重启也不管用。没办法,全部删除,然后去官网下载了7.0,又在vs里面重新配置了framework4.7.1,然后令人惊喜的时,还是不行,真的无语辣。 百度的解决方法也没能解决,本来不想管了,想用vs开发算了,写了一会儿后。。草,真受不了vs的界面,还是乖乖的找方法解决了。
问题描述
VSCode的c#组件启动失败,查看扩展宿主输出,看到Error:A valid dotnet installation could not be found
解决方案
1. 首先在VSCode的设置界面,搜索这个use modern net ,关掉这个设置
2.要重启下VSCode(可能?),重启后c#的输出栏提示开始下载OmniSharp
3.下载完成后在VSCode按F1,输入 OmniSharp:Select Project,然后选择你的项目.sln文件
4.稍等一会儿就好了,可以看看OmniSharp的输出窗口看看有没有别的错误,我之前有一次没跳转是OmniSharp报错,因为我的新建c#脚本没加入到Assembly-CSharp-Editor.csproj里面(VSCode开发个c#怎么这么多b_bug - -!),后来我手动加了下,真实原因是unity的VSCode支持的那个插件没有正确找到我的VSCode,那个是后话了,有空我再写个这个问题的解决方法。
特别注意:
先试试俺的方法呗,如果还不行,再去重装.NET环境。还有,我也不到哪个use modern net是个什么东西,关掉后还重新下载OmniShape,乌鱼子,反正解决问题就行了,嘿嘿,有别的问题再还原这个选项好了。