我剛剛開始在Visual Studio 2017中處理舊解決方案。僅在舊IDE中打開解決方案即可正常工作?,F在,c#應用程序項目默認為c#7.0編譯器。通過這些項目的屬性頁(編譯/高級),可以輕松選擇編譯器的目標語言版本,默認為最新版本。我找不到在asp.net Web項目中啟用c#7.0的方法。如果我寫如下語句:if (int.TryParse("1", out int myInt)) { ... }IDE警告我說我需要使用該語言的7+版本。我對此主題的研究表明,我應該在web.config文件的system.codedom編譯器區(qū)域中定位特定的c#版本,以便定位最新的Roslyn版本。我現在所擁有的是: <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>哪些目標是c#6。如果我已經下載了帶有nuget的最新Roslyn,則c#7的正確設置是什么?更新 這里是一個網絡項目可用的編譯選項的屏幕截圖(它是意大利語VS2017,但應該很容易理解)。無法在此處選擇目標C#版本。
3 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
我可以使用默認語言設置進行編譯,但不能使用C#7選項進行編譯。 在此處輸入圖片說明
但是下面的設置會導致編譯時錯誤:
因此您可以將語言版本設置保留為默認設置。
如果您嘗試使用Roslyn而不使用Visual 2017默認編譯器版本,則可能需要進行更多更改
選擇項目名稱,然后右鍵單擊>>“屬性窗口” >>“生成”,然后在“條件編譯符號”文本框中添加以下兩個選項 __DEMO__,__DEMO_EXPERIMENTAL__
更新資料
為了使用C#7.0,您需要使用Microsoft.Net.Compilers的2.0+版本
安裝最新版本的Microsoft.Net.Compilers(2.0+)后,可以選擇語言版本為C#7。
因此最好的解決方案是安裝最新版本的Microsoft.Net.Compilers(2.0+)。
- 3 回答
- 0 關注
- 771 瀏覽
添加回答
舉報
0/150
提交
取消