空条件操作符在MSBUILD中编译失败

本文关键字:编译 失败 MSBUILD 条件 操作符 | 更新日期: 2023-09-27 18:08:15

我们有VS 2015更新2,并发现以下语法在VS中编译良好,但使用MSBUILD编译时失败:

如下所述:https://msdn.microsoft.com/en-us/library/dn986595.aspx

语法错误:

int? length = customers?.Length;

出现此问题的系统安装了VS 2015 update 2和。net 4.6.1。我们只有在从MSBUILD(这是构建系统使用的…)构建时才有问题。下面是显示我们如何运行msbuild的控制台输出:

Executing external process: C:'WINDOWS'Microsoft.NET'Framework'v4.0.30319'MSBuild.exe
Parameters: C:'develop'<our app>'msbuild_project.xml /p:DefineConstants="Compiled_for_Windows_Service_Case_12345" /m
Output from C:'WINDOWS'Microsoft.NET'Framework'v4.0.30319'MSBuild.exe
Microsoft (R) Build Engine version 4.6.1038.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.

空条件操作符在MSBUILD中编译失败

您需要使用更高版本的MSBuild.exe。例如:

如何在没有安装Visual Studio的情况下构建。net 4.6框架应用程序?

C:'Program Files (x86)'MSBuild'14.0'Bin' MSBuild .exe MySolution.sln