只有累積,沒有奇蹟

2018年11月5日 星期一

[VS2017] 如何在Visual Studio中設定C#建置版本

發生情境

前陣子同事從版控取完最新的source Build在Build時跳出錯誤錯誤訊息如下
Feature 'nameof operator' is not available in C# 5. Please use language version 6 or greater.
錯誤訊息中很明確的說明在 code 所使用的 nameof function 
僅支援 C# 6以上的版本但修改的同事並未發生此問題,因此立即解決發生提出問題的人請發生問題的同事去查看Visual Studio 建置是用哪一版的 C#,發現這功能並不是大家都知道,在此簡單記錄一下遇到這問題時該如何處理

使用方式 

在Visual Studio 2013之後,可以在專案設定所需要建置的 C# 版本為何使用方式如下
1. Project按下右鍵,選擇Properties
2. 點選 Build > Advance

3. 在Advance Build Settings 中有個選項Language version : 可以選擇需要使用 C# 哪個版本進行建置


舉例來說在過去大家很習慣用String.Format來進行字串的連接在 C# 6.0之後可以改使用 $ (interpolated strings)進行字串相加,但如果你的Visual Studio 版本設定建置的 C# 版本低於6.0在建置時就會跳出錯誤,如下圖示


Visual Studio中預設是會使用最新的 C# 版本來build
如果沒特殊需求不用調整
,或是依所需情境設定完再調回來即可 :D

參考

How to change language version in Visual Studio 2015

Related Posts:

  • [Nuget] 架設公司內部 Nuget Server 前言  在開發上常常會遇到某些代碼是跨專案共用的,在 .NET 中會將重複使用的代碼打包成「套件」,其中包含了編譯後的 dll 以及相關的檔案資訊,接著將套件內容上傳到 Nuget Server 上提供開發者下載使用,Nuget server 有分共用與私人主機兩種,共用的 nuget server 上有相當多好用的 libary 供開發者下載,例如常用的 NLog、newtonsoft.json、NUnit...等各種好用的 pack… Read More
  • [VisualStudio] Paste Special - 將 Json 或 XML 文字轉換為 C# 類別物件問題  這陣子開發工作上常遇到要與第三方做串接的服務,第三方服務提供的技術文件中格式不外乎以 Json 或是 XML 兩種為主,往往都要針對這些屬性自己建立新的類別 Model 的動作,如果 XML 或 JSON 屬性欄位多的話要花不少時間在處理建立對應類別上,但不用擔心,號稱地表上最強的開發 IDE Visual Studio 從 2012 開始提供 Json 與 XML 轉 Class 類別的功能,操作與使用上相當簡單,這… Read More
  • [Nuget] 使用 NuGet Package Explorer 製作 Nuget 套件問題  在上一篇介紹了如何架設公司內部 nuger server,架設完畢後會使用 nuget push 指令將開發完 Library 上傳到公司內部 nuget server 上,但每次都要透過手動打指令 push 難道沒有更快的方法了嗎 ? 今天就要來介紹一套好用的工具 Nuget Package Explorer 可以省去打指令的動作,透過 GUI 的介面將開發好的 Library 上傳到共用或是私人架設的 nuget … Read More
  • [VisualStudio].NET 程式碼品質分析利器 SonarLint前言  前陣子部門導入 SonarQube 來分析程式碼品質的工具,會定期掃描當前 GIT 上前後端程式碼分析其代碼質量、Code Smell、找到可能潛在的問題、安全漏洞、單元測試涵蓋率,並可透過視覺化 Dashboard 介面查看目前分析代碼的狀態,且支援分析 25 種以上程式語言,可以說是整合性相當高的程式碼分析工具。今天與同事討論提到 SonarQube 有出擴充工具 SonarLint 與&nbs… Read More
  • [Nuget] The term 'nuget.exe' is not recognized as the name of a cmdlet, function, script file, or operable program問題  最接開發完 Libary 專案要上傳到 nuget server 時,要將 package 檔案透過指令 push 噴 error 錯誤訊息 nuget.exe : The term 'nuget.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the … Read More

0 意見:

張貼留言

Copyright © 2025 m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com