C# MSBUILD抱怨空条件运算符
我有一个MSBUILD项目,它抱怨空条件语法C# MSBUILD抱怨空条件运算符,c#,msbuild,C#,Msbuild,我有一个MSBUILD项目,它抱怨空条件语法 BuildResult buildResult = BuildManager.DefaultBuildManager.Build(parameters, BuildRequest); buildResult.resultsbytarget 关键:“构建” 值:结果代码“失败” 我的日志告诉我有关此错误的信息: Workflow\Activate.cs(283,52):错误CS1525:表达式术语“”无效。 当我查看代码中的特定行时,它使用空条件运算
BuildResult buildResult = BuildManager.DefaultBuildManager.Build(parameters, BuildRequest);
buildResult.resultsbytarget
关键:“构建”
值:结果代码“失败”
我的日志告诉我有关此错误的信息:
Workflow\Activate.cs(283,52):错误CS1525:表达式术语“”无效。
当我查看代码中的特定行时,它使用空条件运算符,如下所示
Contract=Context?选中代码>
删除空条件并用空检查替换它可以解决问题,但我有很多代码使用空条件运算符。我不想编辑它们中的每一个
if(Context != null)
contract = Context.Selected;
更新1:
我确保ms build项目使用最新版本的c#
还确保项目正在尝试生成的.net framework版本相同
更新2:
下载了vs 2017的msbuild工具,并从此处使用DLL。但是,出现新错误无法识别工具版本“15.0”。可用的工具版本有“12.0”、“2.0”、“3.5”、“4.0”。
在使用4.0之前使用了什么MSBuild
版本?@UserName,但目前是C:\ProgramFiles(x86)\MSBuild\12.0\Bin
中的12.0。我认为您应该使用最新的MSBuild
版本。代码片段的语法是C#6.0和Roslyn。您可以安装或使用Visual Studio附带的MSBuild
@用户名使用了最新的VS 2017生成工具。现在我得到一个新的错误<代码>无法识别工具版本“15.0”。可用的工具版本有“12.0”、“2.0”、“3.5”、“4.0”。
构建项目中使用了哪些ToolsVersion
?如果不同,请尝试设置为15.0。