在MSBuild中出错CS0840但在VS2015中出错

时间:2017-02-06 13:52:29

标签: c# .net visual-studio-2015 compiler-errors msbuild

我有以下代码:

    namespace NS{
    public class ClassName{
        public PropertyName{get;}
}
}

我收到以下错误:

  

TestFile.cs(11,32):错误CS0840:'NS.ClassName.PropertyName.get'必须   声明一个正文,因为它没有标记为抽象或外部。   自动实现的属性必须定义get和set   访问器。

在VS2015中编译时,一切正常。尝试使用MSBuild构建时,会发生错误。

我正在使用C#6.0和ToolsVersion 14.0编译.NET 4.6.2。

我错过了什么?

1 个答案:

答案 0 :(得分:4)

这里几乎可以肯定的是,您的MSBuild版本已经过时,正在针对C#的第5版进行编译。请考虑以下代码:

inc/add

这将在C#6(即VS2015)中愉快地编译,但会抛出您从MSBuild遇到的错误(以及如果您使用VS2013。)

如果您想使用MSBuild进行编译,则需要下载并安装更新的构建工具:https://www.microsoft.com/en-us/download/details.aspx?id=48159