还未升级使用VS2015前,又想尝试使用C# 6.0的语言特性,可以用以下方法启用:

VS2013中“工具”下选择“程序包管理器控制台”:

选中需要使用C# 6.0的项目,再敲入"Install-Package Microsoft.Net.Compilers"命令:

PM> Install-Package Microsoft.Net.Compilers
正在安装“Microsoft.Net.Compilers 1.0.0”。
您正在从 Microsoft 下载 Microsoft.Net.Compilers,有关此程序包的许可协议在 http://go.microsoft.com/fwlink/?LinkId=529444 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。
已成功安装“Microsoft.Net.Compilers 1.0.0”。
正在将“Microsoft.Net.Compilers 1.0.0”添加到 Test。
已成功将“Microsoft.Net.Compilers 1.0.0”添加到 Test。

项目的packages.config文件中多了一个引用:

 <package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net45" />

如果要在别的项目中启用,在程序包管理器控制台中切换项目,运行"Install-Package Microsoft.Net.Compilers"命令。

或者增加/修改packages.config文件,增加Microsoft.Net.Compilers引用,并修改*.csproj文件:

<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
...

引用新的编译器后,在代码中测试一下:

            var website = "www.test.com";
var port = 8080;
var url = $"http://{website}:{port}/index.html";
Console.WriteLine(url);

运行成功:

补充:

网上的资源上说可以在项目文件中添加<LangVersion>experimental</LangVersion>,或者自定义CsCToolPath的路径,都需要安装VS 14 CTP以上,目前看此法最为简便。

(http://thomasardal.com/how-to-enable-c-6-0-language-preview-in-visual-studio-14-ctp-3/)

参考:

New Features in C# 6

http://blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx

让VS2013支持 C# 6.0 语法的更多相关文章

  1. vs2013 支持C#6.0 Install-Package Microsoft.Net.Compilers

    vs2013 支持C#6.0  Install-Package Microsoft.Net.Compilers

  2. C#Framework4.0支持异步async/await语法

    由于用户使用的是XP系统,但是程序里异步都是通过async/await代码来实现的,然而async/await需要Framework4.5版本才可以,而XP系统最高只能支持到Framework4.0, ...

  3. 把NetDimension.NanUI项目从C#6.0语法还原到C#5.0

    前言 找Cef资料时看到一个比较好的封装NanUI for Winform发布,让Winform界面设计拥有无限可能,下载代码后发现是Vs2015+C#6.0开发的,本机没有VS2015也不想安装.于 ...

  4. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  5. vs2013下配置opencv1.0.0

    vs2013下配置opencv1.0.0 2019-4-25 17:13:13 原因 现在最新opencv已经到4.0.1版了.用opencv1.0原因: 小.源码包只有10M左右. 清晰.他的文档结 ...

  6. C# 6.0语法糖剖析

    C# 6.0语法糖剖析 2016年12月16日 16:10:27 阅读数:586   版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载. https ...

  7. 让VS2010也支持html5和css3语法验证

    让VS2010也支持html5和css3语法验证 步骤: 首先打开VS2010或者可自行下载均可,我这里是利用VS的扩展器 弹出如下画面,然后选在,联机库,在右上角输入css3,即可看到下面,然后选中 ...

  8. Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?

    在 C/C++/Java 等等语言中,整型变量的自增或自减操作是标配,它们又可分为前缀操作(++i 和 --i)与后缀操作(i++ 和 i--),彼此存在着一些细微差别,各有不同的用途. 这些语言的使 ...

  9. 在DirectShow中支持DXVA 2.0(Supporting DXVA 2.0 in DirectShow)

    这几天在做dxva2硬件加速,找不到什么资料,翻译了一下微软的两篇相关文档.并准备记录一下用ffmpeg实现dxva2,将在第三篇写到.这是第二篇.,英文原址:https://msdn.microso ...

随机推荐

  1. hadoop伪分布式组件安装

    一.版本建议 Centos V7.5 Java V1.8 Hadoop V2.7.6 Hive V2.3.3 Mysql V5.7 Spark V2.3 Scala V2.12.6 Flume V1. ...

  2. Lingo安装

    Lingo安装 Lingo简介        LINGO是Linear Interactive and General Optimizer的缩写,即"交互式的线性和通用优化求解器" ...

  3. Oracle入门第三天(下)——子查询

    一.子查询 1.子查询语法 SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table) 示例: ...

  4. 20155230 2016-2017-2《Java程序设计》第二周学习总结

    20155230 2016-2017-2 <Java程序设计>第er周学习总结 教材学习内容总结 JAVA编程风格 1.命名变量时不可以使用数字及特殊字符作为开头. 2.变量名称不可以与J ...

  5. 20155330 实验四 Android程序设计

    20155330 实验四 Android程序设计 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握An ...

  6. sql语句-8-sql学习流程

  7. 【转载】Ogre3d 2.1 源码编译安装教程

    原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己 ...

  8. 【HEOI2016】排序

    题面 题解 这题好神仙啊... 我们二分这个位置上的数, 然后当\(val[i] \geq mid\)的位置设为\(1\),否则为\(0\) 这样一来,这道题就变成了一个\(01\)序列排序,所以就可 ...

  9. 《Flutter实战》开源电子书

    <Flutter实战>开源电子书 <Flutter实战> 开源了,本书为 Flutter中文网开源电子书项目,本书系统介绍了Flutter技术的各个方面,本书属于原创书籍(并非 ...

  10. nginx交替出现404和200

    今天在调试接口的时候,发现一个奇怪的问题,服务器接口交替返回404和200错误. 排查的时候发现nginx下有大量的404错误记录,而tomcat有两个,一个有正常的访问记录,而另一个虽然启动正常,但 ...