c# - 错误:必须声明一个主体,因为它没有标记为抽象或外部
问题描述
csc.exe
在Win10 上编译时清除此错误有点问题。我对 C# 很陌生。在我一月份开始上课之前做一些自学。
按照“TeamTreehouse”教程执行此操作。他们mono
在他们的工作空间中使用。我更喜欢vscode
在我的机器上使用来熟悉在单声道之外使用 C#。
从我在 CS0501 上读到的问题来看,这是一个编译器问题,不应该是问题,但使用csc.exe
会导致问题。添加abstract
会带来一系列全新的问题。
从终端使用编译器的命令是csc *.cs
我不确定下一步该去哪里寻找解决方案。我一直无法使用所谓的Auto-Implemented Properties
.
错误是
Invader.cs(6,39):错误 CS0501:“TreehouseDefense.Invader.Location.get”必须声明一个主体,因为它没有标记为抽象或外部
Invader.cs(6,52):错误 CS0501:“TreehouseDefense.Invader.Location.set”必须声明一个主体,因为它没有标记为抽象或外部
代码 Invader.cs
namespace TreehouseDefense {
class Invader {
public MapLocation Location { get; private set; }
}
}
项目 Object_Project.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
</Project>
解决方案
您使用的是 2005 年的 C# 2 编译器。C# 2 不支持自动实现的属性 - 以及现代 C# 中的各种其他功能。
您想要运行 C# 7 编译器。我建议安装Visual Studio 2017 Community Edition并使用 Visual Studio 2017 命令提示符,以便正确的版本csc
在路径上。
或者只需下载.NET Core SDK并使用dotnet
命令来构建和运行,而不是csc
.