You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使Visual Studio 2021代码兼容VS2013/.NET Framework 4.0?

适配Visual Studio 2013的代码修改方案

你遇到的是C# 6.0新增的表达式体成员语法,Visual Studio 2013自带的编译器仅支持到C# 5.0,所以无法识别这类语法。无需升级.NET Framework 4.0,只需将代码转换为C# 5兼容的传统属性写法即可,具体修改如下:

1. 只读属性(CanRead/CanSeek/Length/CanWrite)

原C# 6语法:

public override bool CanRead => _fileStream.CanRead;
public override bool CanSeek => _fileStream.CanSeek;
public override long Length => _fileStream.Length;
public override bool CanWrite => false;

修改为VS2013兼容的写法:

public override bool CanRead
{
    get { return _fileStream.CanRead; }
}

public override bool CanSeek
{
    get { return _fileStream.CanSeek; }
}

public override long Length
{
    get { return _fileStream.Length; }
}

public override bool CanWrite
{
    get { return false; }
}

2. 带读写访问器的Position属性

原C# 6语法:

public override long Position
{
    get => _fileStream.Position;
    set => _fileStream.Position = value;
}

修改为VS2013兼容的写法:

public override long Position
{
    get { return _fileStream.Position; }
    set { _fileStream.Position = value; }
}

关键说明

  • 这种修改完全保留原代码逻辑,仅替换语法形式,Visual Studio 2013可正常编译,无需改动项目目标框架。
  • 你之前直接移除=>的方式错误,因为基类的属性需要显式实现get(或set)访问器才能完成重写,仅保留属性定义会导致编译器无法识别重写关系。

内容的提问来源于stack exchange,提问作者TrojanNemo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 19:51:07