我在MacOS中安装了两个版本的Unity,一个是4.7版本,一个是5.6版本,在5.6版本中使用VSCode打开项目时,可以正常代码提示和查看,但是打开4.7版本的项目时,无法正常提示和查看。

经过研究,发现Unity4.7生成的项目文件(*.csproj)中,有以下几项:

<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFrameworkProfile>Unity Full v3.5</TargetFrameworkProfile>
 
但由于该版本无法找到,导致OmniSharp加载失败。由于修改VSCode代码,将TargetFrameworkVersion中的版本替换为2.0,其它两项去掉。
 
另一个出现加载问题的项为:
<Import Project="$(MSBuildExtensionsPath)\SyntaxTree\UnityVS\2013\UnityVS.CSharp.targets" />
 
这个目标无法找到,也会导致加载失败。
可以修改为:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 
修改后,可以Restart OmniSharp,这样就可以正常加载了。
posted on 2017-07-04 14:31  simith  阅读(2264)  评论(0编辑  收藏  举报