我有一个MSBUILD项目,抱怨空条件语法。
BuildResult buildResult = BuildManager.DefaultBuildManager.Build(parameters, BuildRequest);
buildResult.ResulsByTarget
键:“构建”
值:ResultCode“失败”
我的日志告诉我有关此错误的信息:
Workflow\Activate.cs(283,52): error CS1525: Invalid expression term '.'
当我查看代码中的特定行时,它使用像这样的空条件运算符
Contract contract = Context?.Selected;
删除null条件并用null检查替换它可以解决此问题,但是我有很多使用null条件运算符的代码。而且我不想编辑其中的每一个。
if(Context != null)
contract = Context.Selected;
更新1:
我确保ms build项目使用最新版本的c#
还要确保该项目正在尝试构建的具有相同的.net框架版本
更新2:
下载了vs 2017的msbuild工具,并从那里使用了dll。但是,发生了新错误The tools version "15.0" is unrecognized. Available tools versions are "12.0", "2.0", "3.5", "4.0".