亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# 編譯器拋出語言版本 (LangVersion) 引用錯誤“無效的‘可空’值:

C# 編譯器拋出語言版本 (LangVersion) 引用錯誤“無效的‘可空’值:

C#
DIEA 2023-04-16 10:13:19
我有幾個 .NET Standard 項目的解決方案,我想啟用 c# 8 和 nullable,如下所示:<PropertyGroup>     <TargetFramework>netstandard2.1</TargetFramework>     <LangVersion>8.0</LangVersion>     <Nullable>enable</Nullable>   </PropertyGroup>注意:這些設置位于您的 .csproj 文件中。問題是有些項目編譯正常,有些有錯誤:無效的“可空”值:C# 7.3 的“啟用”。請使用“預覽”或更高版本的語言我有 Visual Studio 16.2 Preview 2 和 .NET Core 3 Preview 6。這是預覽中的錯誤還是我做錯了什么?
查看完整描述

5 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

就我而言,當我將目標框架從 .NET Standard 2.1 更改為 .NET Standard 2.0 時,我在 Visual Studio 2022 中遇到了這個問題。我通過刪除<Nullable>enable</Nullable>.csproj 文件并重新啟動 Visual Studio 解決了我的問題。


原始 .csproj 文件:


<PropertyGroup>

  <TargetFramework>netstandard2.1</TargetFramework>

  <Nullable>enable</Nullable>

</PropertyGroup>

新的 .csproj 文件:


<PropertyGroup>

  <TargetFramework>netstandard2.0</TargetFramework>

</PropertyGroup>


查看完整回答
反對 回復 2023-04-16
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

您應該<LangVersion>preview</LangVersion>按照錯誤消息的建議嘗試。



查看完整回答
反對 回復 2023-04-16
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

我有這樣的錯誤“無效的‘可空’值:C# 7.3 的‘啟用’。請使用‘8.0’或更高版本的語言”,我能夠通過更改指定目標框架的順序來解決它。

<TargetFrameworks>net6.0;net48</TargetFrameworks>

<TargetFrameworks>net48;net6.0</TargetFrameworks>


查看完整回答
反對 回復 2023-04-16
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

為了解決這個問題,

  1. 在 visual studio 中,右鍵單擊您的項目文件,轉到“屬性”

  2. 構建 --> 事件 --> 高級 --> 取消選中 Deterministic 

現在構建項目。


查看完整回答
反對 回復 2023-04-16
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

當我不得不將編譯時支持的 C# 語言版本從 11.0 降級到 7.0 時,我遇到了同樣的問題。我解決了 .net 7.0 項目的問題,并且能夠通過從“啟用”到“禁用”的簡單替換在 VS2022 中編譯它。


查看最終項目配置:


<PropertyGroup>

   <TargetFramework>net7.0</TargetFramework>

   <ImplicitUsings>disable</ImplicitUsings>

   <Nullable>disable</Nullable>

   <LangVersion>7.0</LangVersion>

</PropertyGroup>


查看完整回答
反對 回復 2023-04-16
  • 5 回答
  • 0 關注
  • 640 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號