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

如何在Visual Studio 2015中编译Roslyn以添加C# 7.0支持?

在Visual Studio 2015中启用C# 7.0支持的解决方案

针对你遇到的「NuGet包编译正常但编辑器报错」「重新编译Roslyn失败」这两个问题,我整理了几个实用的解决思路:

一、快速解决:用扩展+NuGet包组合补全编辑器支持

你提到的Microsoft.Net.Compilers NuGet包确实能让项目编译时支持C#7.0,但VS2015自带的编辑器(IntelliSense)还是基于旧版Roslyn,所以会出现红色波浪线报错。解决这个问题的关键是给编辑器也加上C#7.0的语言服务支持:

  • 打开VS2015的「工具」→「扩展和更新」,搜索并安装C# 7.0 Support for Visual Studio 2015扩展。这个扩展会替换VS2015的语言服务组件,让编辑器能识别C#7.0特性(包括ValueTuple)。
  • 安装完成后重启VS,再配合项目里的Microsoft.Net.Compilers包(建议安装2.x版本,对应C#7.0的稳定支持),就能实现编译和编辑器的双重支持,不会再出现编辑器报错的情况。

二、编译旧版Roslyn适配VS2015

你之前编译Roslyn成功是因为用的是对应VS2015的分支,现在主干分支的Roslyn已经是为VS2017及以上版本开发的,直接编译肯定会报错。要编译适配VS2015的Roslyn,得这么做:

  1. 克隆Roslyn仓库后,切换到dev14分支(这个分支是专门针对VS2015的开发分支)。
  2. 确保你的电脑上安装了Visual Studio 2015 Update 3及以上版本,不要用VS2017来编译这个分支,版本不匹配会导致大量编译错误。
  3. 运行仓库根目录的Restore.cmd脚本,还原所有依赖项。
  4. 用VS2015打开Roslyn.sln,编译Roslyn和Microsoft.CodeAnalysis相关的项目。
  5. 编译完成后,找到输出的Microsoft.CodeAnalysis.dll等核心文件,替换VS2015安装目录下的对应文件(记得先备份原文件,避免出问题)。

三、备选方案:使用VS2017的兼容模式

如果上述方法都嫌麻烦,你可以安装VS2017,然后在VS2017中打开VS2015的项目,设置项目的语言版本为C#7.0,同时可以选择兼容VS2015的目标框架。这样既能用C#7.0特性,也能确保编译后的程序在VS2015环境下正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:37:14