難以接受你的改變:從project.json到.csproj

來源:互聯網
上載者:User

標籤:選擇   微軟   sdk   code   簡單   mic   setting   自己   支援   

自從微軟做了一個艱難的決定——.NET Core徹底放棄project.json,全面改回.csproj——至今,雖然讚美之聲不斷,但我依然不喜歡也難以接受這樣的改變。 

難以接受主要有兩方面的原因:

1)由繁入簡易,由簡入繁難

習慣了json格式的簡潔,很難再適應xml格式的繁瑣。無論微軟怎麼簡化.csproj,與project.json天生的簡潔相比也是望塵莫及。簡單對比一下,立馬就能體會到。

<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">  <ItemGroup>    <PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="1.2.0-*" />  </ItemGroup></Project>
{  "dependencies": {    "Microsoft.AspNetCore.DataProtection": "1.2.0-*"  }}

用 project.json 的時候經常喜歡直接在 project.json 檔案中修改,可是面對 .csproj 卻少了直接修改的慾望。

2)xml與json設定檔的混雜帶來不一致的編輯體驗

改變的只是project.json,其它的設定檔依然是json格式,比如appsettings.json,兩者混雜在一起更顯.csproj的格格不入,僅僅這個不一致的編輯體驗就讓人難以適應。

那微軟為什麼要做這樣一個打自己臉的艱難決定?我想根本原因是為了 .NET Core 能用上曆史悠久的 MSBuild 作為 Build工 具,.NET 平台上的很多工具都依賴 MSBuild ,繼續使用 MSBuild 有很大的連鎖效益。但讓 .NET Core 用上 MSBuild 並非只有這一條路,比如讓 MSBuild 支援 project.json ,微軟為什麼選擇放棄 project.json 的下策呢?要麼微軟偷懶,要麼因為 MSBuild 的本身設計問題造成很難實現對 project.json 的支援?後者的可能性非常大,因為 MSBuild 過於依賴 xml 設定檔(build任務都是通過xml配置定義的),要它支援另外一種格式的設定檔改動可能非常大,微軟選擇這樣的下策可能處於無奈。雖然理解微軟的難處,但站在使用者的角度,我還是更喜歡 project.json,難以接受 .csproj。

難以接受你的改變:從project.json到.csproj

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.