【发布时间】:2018-12-18 15:18:45
【问题描述】:
在 Win10 上使用 csc.exe 进行编译时,在清除此错误时遇到了一点问题。我对 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' 必须声明一个主体,因为它没有标记为抽象或外部
代码 入侵者.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>
【问题讨论】:
-
我认为,您的问题是早期版本的编译器不支持自动属性
-
我认为对于 .NET Core 项目,您应该使用 dotnet build 命令。或者只使用 VSCode 中的 Build 命令。
-
@itsme86
msbuild也可以使用 -
当你只运行“csc”时,它会显示什么版本号?
-
@itsme86
dotnet build正在编译它,但它没有生成 exe。还刚刚发现dotnet publish它正在创建超过 200 个文件,而不是像csc这样的自包含 exe 文件
标签: c# windows visual-studio-code csc