今天(无需我进行任何更新)VisualStudio(Visual Studio for Mac Community Version 8.0.6 build 4)突然间一直告诉我我需要升级Mono(我在Mac上)。我是这样之后,我的所有项目都不会编译,因为似乎配置混乱了,我认为未设置RoslynTargetsPath。如果这有任何区别,我将Visual Studio与Unity一起使用。
我遇到的第一个错误是
“〜/ Library / Caches / VisualStudio / 8.0 / MSBuild / 17745_1 // Microsoft.CSharp.Core.targets 找不到”
查看文件系统,我看到文件位于Rosyln子文件夹中。因此,我编辑了Assembly-CSharp.csproj文件,并从
更改了导入定义。 <Import Project="$(MSBuildToolsPath)/Microsoft.CSharp.Core.targets" />
到
<Import Project="$(MSBuildToolsPath)/Roslyn/Microsoft.CSharp.Core.targets" />
执行此操作后,错误更改为
“目标” Build“在项目中不存在。(MSB4057)”
我对此进行了研究,并尝试将其添加到项目文件中
错误返回到此
“〜/ Library / Caches / VisualStudio / 8.0 / MSBuild / 17745_1 // Microsoft.CSharp.Core.targets 找不到”。
注意路径中的“ //”。我检查了MSBuild.dll.config,RoslynTargetsPath的定义是这个
<property name="RoslynTargetsPath" value="$([MSBuild]::GetToolsDirectory32())\Roslyn" />
因此,我将项目文件中的导入更改为此
<Import Project="$(RoslynTargetsPath)/Microsoft.CSharp.Core.targets" />
错误更改为
“未找到/Microsoft.CSharp.Core.targets”。
因此,看起来RoslynTargetsPath是一个空字符串。我不知道为什么在未更新VisualStudio时被迫升级Mono。