最近同事開發了一個Winform的程序,想讓我幫他看看問題,我們是使用svn進行管理的,我從svn下載他的項目,直接編譯報錯誤(前提說明:我使用的是vs2017的開發環境),編譯不通過:
錯誤 CS1617 /langversion 的選項“8.0”無效。使用 "/langversion:?" 列出支持的值。
看來是我們兩邊使用的開發環境不一樣導致的。初步懷疑是Framework版本不統一。
於是,我們從網上查查看吧:
這不是框架問題,是因為你選擇了c# 8.0語法,但是你使用的IDE版本或應用框架不支持編譯C# 8.0,
你可以修改配置文件,如果是asp.net,在web.config,如果是桌面應用程序,在app.config,找到這樣一條:
compilerOptions=”/langversion:8
把8改成7或default,應該就可以了。
我在自己的項目中的app.config文件中沒有找到,但在項目文件中找到了。
我們打開項目文件 .csproj的內容如下:
我們可以看到,這里指定了8.0
解決辦法:
在項目的工程屬性打開,點擊“生成”---->“高級”;指定“語言版本”為合適的版本。我這里選擇默認的,如下圖:
點擊確定按鈕之后,再次編譯試試看。編譯通過了。。。。。
我們在看看項目文件的內容