簡體   English   中英

在我將 .NET 6 項目重新定位到 .NET Framework 4.8 后,編譯器拒絕編譯

[英]Compiler refuses to compile after I retarget a .NET 6 project to .NET Framework 4.8

我有一個 .NET 6 項目。 我想將其重新定位到 .NET 4.8。 我是從項目屬性中做到的。 我使用更新的語言功能刪除了我的代碼的所有實例。 我也清理了解決方案

但是在這樣做之后,我在編譯時出現錯誤

CS8630 Invalid 'nullable' value: 'Enable' for C# 7.3. Please use language version '8.0' or greater

在第 1 行,來自我的項目文件夾中名為CSC的文件(奇怪的是,CSC 是編譯器的名稱,而我沒有這樣的文件)。 我肯定沒有使用可空類型,而且這個錯誤是不正確的 IMO。 我該怎么辦?

編輯:@RahulSharma 的回答無效。 它不起作用,產生另一個錯誤。

當您的項目設置引用語言版本 7.3 時會顯示此錯誤。 我假設您可以通過右鍵單擊您的項目並在 VS 中選擇屬性、構建、高級來驗證這一點。 如果語言版本顯示為 7.3,則需要更改它以匹配您使用的框架版本。 但是,您無法在 VS 對話框中更改此設置,因此您需要手動執行此操作。 卸載項目並將項目文件作為文件打開,然后在<PropertyGroup>部分添加<LangVersion>latest</LangVersion> 此處查看每個 .NET 框架版本的語言版本的完整文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM