让VS2013支持 C# 6.0 语法
2024-09-29 00:20:19
还未升级使用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
最新文章
- Eclipse使用Git教程
- 【笔记】js的内存字节转化
- php 下载文件代码段
- Mina、Netty、Twisted一起学(六):session
- 每天一个linux命令---mount
- [翻译]LSP程序的分类
- POJ3680_Intervals
- 繁华模拟赛 Vicent坐电梯
- python核心编程学习记录之基础知识
- 工作了3年的JAVA程序员应该具备什么技能?(zhuan)
- JAVA 遍历文件夹下的所有文件
- Linux的软连接与硬链接
- asp.net导出Excel 按照预定格式,以及解决导出乱码
- C# 调用WebService的方法
- C++ 书籍
- Git分支管理的基本操作
- NPOI+反射 实现快速导出
- 【转】css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?
- Turn the corner
- 史上最全的select加锁分析(Mysql)
热门文章
- linux通过命令查找大文件
- angular中的$cookies和$cookieStore设置过期时间
- 手动安装R包
- 鼠标移动在屏幕上显示温度Tip提示功能-CToolTipCtrl类的使用
- 20155202 《Java程序设计》实验三(敏捷开发与XP实践)实验报告
- 20155211 2016-2017-2 《Java程序设计》第十周学习总结
- Mac 用Ctr+C复制,Ctr+V 粘贴
- [2016北京集训测试赛5]azelso-[概率/期望dp]
- day1 post验证登录
- codevs 5429 多重背包