Project.json如何轉換為.csproj

引言

2016年5月, 微軟宣布放棄使用 Project.json 文件管理 dotnet core項目, 而退回到之前的MSbuild+.csproj文件的方式. 這個消息的發布使得dotnet社區許多開發者扼腕嘆息. 然并卵, 通過關注dotnet cli的開源項目, 不難發現, 微軟已經做好了相關的技術準備, 并準備了一套Project.json轉.csproj的方案.

前世今生

Project.json誕生伊始即定位為.csproj的替代品, 通過Json格式靈活, 簡潔, 語義清晰的特點, 對項目進行管理. 但是最終, 微軟放棄了這個方案, 終止了關于Project.json的實驗. 微軟為什么兜個圈子又回到了之前的.csproj的方式? 我們來看一下微軟官方的解釋.
1. Visual Studio兼容project.json比較復雜, 工作量比較大
2. 之前的CI/RM工具無法很好的兼容project.json
3. MSBuild功能已經很全面, 但是MSBuild無法兼容project.json, 微軟不可能在花大力氣再實現一遍MSBuild的全部功能

總結來看, 問題還是出在兼容性. 既然已經如此, 作為dotnet社區忠實擁躉的我們, 也只好接受.

還好微軟已經做了一些準備工作, 在最新的Cli preview 4中, 已經去掉了對project.json的支持, 并新加入一個

dotnet migrate

命令. 我們可以很容易的將之前的project.json項目, 遷移會csproj, 而且遷移之后Visual studio的支持也會更好.

遷移遇到問題咋辦?

微軟也意識到遷移不會100%的成功, 針對實際遷移中的各種問題, 我們根據微軟提供的流程, 將問題反饋到Github, 具體的方法為:

1. 在問題的標題上加上前綴[MIGRATION]:
2. 可以通過連接, 和粘貼的方式, 將你的project.json文件共享給微軟的開發者
3. 粘貼dotnet --info命令輸出的信息
4. 在問題的正文中@blackdwarf 和 @livarcocc

相信微軟的開發者會積極幫助大家解決問題.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容