還未升級使用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