如何在ASP.NET 網站項目中使用C# 6?

來源:互聯網
上載者:User

標籤:自動   項目   option   安裝   c#   vbs   作者   tool   mic   

Generic
連結:https://www.zhihu.com/question/48864375/answer/113316462
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

造成這個問題的原因是微軟沒有為使用.NET Framework 4.6.1的http://ASP.NET Empty Web Site模板建立的網站啟用C# 6支援,而且“網站”不像“應用程式項目”一樣可以在“項目屬性-產生-進階”視窗中設定語言版本,所以當使用C# 6文法時,給出提示:
功能“XXX”在C# 5中不可用。請使用語言版本6或更高版本。
<img src="https://pic1.zhimg.com/50/ef29893180be89925650df1ff654805d_hd.jpg" data-rawheight="392" data-rawwidth="964" class="origin_image zh-lightbox-thumb" width="964" data-original="https://pic1.zhimg.com/ef29893180be89925650df1ff654805d_r.jpg">可以通過安裝Microsoft.CodeDom.Providers.DotNetCompilerPlatform程式包解決:
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform安裝好這個程式包後,會自動在Web.config檔案中的configuration節點下添加如下節點:
<system.codedom>  <compilers>    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>  </compilers></system.codedom>
這時候C# 6便可以使用了。
&amp;amp;lt;img src="https://pic1.zhimg.com/50/d9a7fd775d69934518d46f30b2211a00_hd.jpg" data-rawheight="390" data-rawwidth="744" class="origin_image zh-lightbox-thumb" width="744" data-original="https://pic1.zhimg.com/d9a7fd775d69934518d46f30b2211a00_r.jpg"&amp;amp;gt;正常情況下應該沒有問題了。不過,產生網站的時候,還可能會遇到另外一個問題,提示:
未能找到檔案“XXX\bin\roslyn\csc.exe”。
出現這個問題可能是因為VS沒有把Roslyn的編譯器正確地放到網站Bin檔案夾的roslyn檔案夾中。這時候可以從Nuget程式包檔案夾中複製Roslyn編譯器到網站的Bin/roslyn檔案夾中。Nuget程式包檔案夾一般與.sln解決方案檔案在同一個目錄下。Roslyn編譯器在Nuget檔案夾中的路徑是:
packages\Microsoft.Net.Compilers.1.0.0\tools
把這個檔案夾中的檔案全部複製過去就行了。

如何在ASP.NET 網站項目中使用C# 6?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.