让VS2013支持 C# 6.0 语法
还未升级使用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 语法的更多相关文章
- vs2013 支持C#6.0 Install-Package Microsoft.Net.Compilers
vs2013 支持C#6.0 Install-Package Microsoft.Net.Compilers
- C#Framework4.0支持异步async/await语法
由于用户使用的是XP系统,但是程序里异步都是通过async/await代码来实现的,然而async/await需要Framework4.5版本才可以,而XP系统最高只能支持到Framework4.0, ...
- 把NetDimension.NanUI项目从C#6.0语法还原到C#5.0
前言 找Cef资料时看到一个比较好的封装NanUI for Winform发布,让Winform界面设计拥有无限可能,下载代码后发现是Vs2015+C#6.0开发的,本机没有VS2015也不想安装.于 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- vs2013下配置opencv1.0.0
vs2013下配置opencv1.0.0 2019-4-25 17:13:13 原因 现在最新opencv已经到4.0.1版了.用opencv1.0原因: 小.源码包只有10M左右. 清晰.他的文档结 ...
- C# 6.0语法糖剖析
C# 6.0语法糖剖析 2016年12月16日 16:10:27 阅读数:586 版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载. https ...
- 让VS2010也支持html5和css3语法验证
让VS2010也支持html5和css3语法验证 步骤: 首先打开VS2010或者可自行下载均可,我这里是利用VS的扩展器 弹出如下画面,然后选在,联机库,在右上角输入css3,即可看到下面,然后选中 ...
- Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?
在 C/C++/Java 等等语言中,整型变量的自增或自减操作是标配,它们又可分为前缀操作(++i 和 --i)与后缀操作(i++ 和 i--),彼此存在着一些细微差别,各有不同的用途. 这些语言的使 ...
- 在DirectShow中支持DXVA 2.0(Supporting DXVA 2.0 in DirectShow)
这几天在做dxva2硬件加速,找不到什么资料,翻译了一下微软的两篇相关文档.并准备记录一下用ffmpeg实现dxva2,将在第三篇写到.这是第二篇.,英文原址:https://msdn.microso ...
随机推荐
- Go语言中多字节字符的处理
1 概述 Go语言的字符串是使用 UTF-8 编码的.UTF-8 是 Unicode 的实现方式之一.本文内容包括:UTF-8 和 Unicode 的关系,Go语言提供的 unicode 包和 uni ...
- 20155210潘滢昊 Java第二次试验
20155210潘滢昊 Java第二次试验 实验内容 学会JunitTest的使用 实验代码 MyUtilTest代码: import org.junit.*; import junit.framew ...
- 20155230 实验四《android程序设计》实验报告
20155230 实验四<Android程序设计>实验报告 一.安装Android Stuidio 二.从一个活动启动另一个活动 在启动活动的活动里添加如下语句即可 Intent inte ...
- 【MongoDB】如何注册windows服务
一.为什么要注册windows服务 mongodb启动比较麻烦,每次都要cmd去开启.注册windows服务,可以设置开机启动,比较友好. 二.如何注册windows服务 1.安装mongodb 2. ...
- [CF1042D] Petya and Array
题面 题解 这道题目到底叫什么好呢?? 史上最短CDQ分治题 记一个前缀和,然后CDQ分治即可. 代码 #include<cstdio> #include<algorithm> ...
- 4709: [Jsoi2011]柠檬
4709: [Jsoi2011]柠檬 https://www.lydsy.com/JudgeOnline/problem.php?id=4709 分析: 决策单调性+栈+二分. 首先挖掘性质:每个段选 ...
- 【转】 线段树完全版 ~by NotOnlySuccess
载自:NotOnlySuccess的博客 [完全版]线段树 很早前写的那篇线段树专辑至今一直是本博客阅读点击量最大的一片文章,当时觉得挺自豪的,还去pku打广告,但是现在我自己都不太好意思去看那篇文章 ...
- js页面动态时间展示
效果图: 具体代码 js代码 <script type="text/javascript"> var t = null; t = setTimeout(time,100 ...
- python 内置模块(sys)
sys.argv 命令行参数List,第一个元素是程序本身路径sys.exit(n) 退出程序,正常退出时exit(0)sys.version 获取Py ...
- 洛谷3197&bzoj1008 越狱
洛谷3197&bzoj1008 越狱 Luogu bzoj 题解 所有状态减合法状态.SBT 答案为\(m^n-m*(m-1)^{n-1}\)太SB不解释 注意取膜的问题.相减可能减出负数,而 ...