我有以下代码:
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。
我错过了什么?
答案 0 :(得分:4)
这里几乎可以肯定的是,您的MSBuild版本已经过时,正在针对C#的第5版进行编译。请考虑以下代码:
inc/add
这将在C#6(即VS2015)中愉快地编译,但会抛出您从MSBuild遇到的错误(以及如果您使用VS2013。)
如果您想使用MSBuild进行编译,则需要下载并安装更新的构建工具:https://www.microsoft.com/en-us/download/details.aspx?id=48159