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

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

csproj LangVersion 屬性覆蓋任何導入的項目

csproj LangVersion 屬性覆蓋任何導入的項目

C#
一只甜甜圈 2021-12-25 18:42:05
我有一個帶有 的 csproj <LangVersion>default</LangVersion>,它當前默認為 c# 7.0。如果我手動將其更改為 7.3,它會正確編譯使用 7.1 及更高版本的某些功能的代碼。當然,我可以在每個 csproj 上更改此設置,但是由于我們有很多,我正在尋找其他解決方案。我在存儲庫的根目錄中添加了 Directory.Build.props,并將其導入到 csproj 中。但是<LangVersion>來自 csproj 的設置優先于<LangVersion>來自我的道具文件的設置......無論我在 csproj 中的哪個位置導入它。<LangVersion>如果這可以從一些主道具繼承,我寧愿不要求每個人從他們的 csproj 和所有未來的 csproj 中刪除該屬性……但似乎并非如此。我在這里錯過了什么?
查看完整描述

1 回答

?
有只小跳蛙

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

Directory.Build.props文件<Import>在項目文件的開頭 (!)自動導入(不需要)。

因此,項目文件中的每個內容都添加在該文件的內容之后,因此將覆蓋之前定義的值。(除非 csproj 包含類似 的條件<LangVersion Condition="'$(LangVersion)' != ''">…)。

要覆蓋來自 csproj 文件的任何值,您可以使用Directory.Build.targets在 (!) 項目內容之后自動導入的文件,該文件允許您覆蓋項目文件中設置的值。


查看完整回答
反對 回復 2021-12-25
  • 1 回答
  • 0 關注
  • 284 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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