微軟之前為了讓.NET Core和ASP.NET Core能夠支持Windows Visual Studio之外的開發(fā)平臺,創(chuàng)建了基于project.json格式的項目系統(tǒng)。不過可惜,這種格式與之前的.csproj/MSBuild無法兼容。來自微軟的Rich Lander近期宣布,.NET Core Tools將在最新的alpha版中遷移到MSBuild格式。
不過現(xiàn)今的.NET Core開發(fā)者已經(jīng)在使用project.json格式,為了這些舊項目,微軟提供了一個遷移工具(通過調(diào)用dotnet migrate命令),它可以把project.json轉(zhuǎn)成MSBuild格式。
修改后的格式有很多好處:
項目之間現(xiàn)在可以相互引用——現(xiàn)有的.NET標(biāo)準(zhǔn)項目(.NET Framework、Xamarin或UWP)和.NET Core之間可以相互引用 項目引用和NuGet引用使用相同的csproj格式——通過NuGet添加的包引用會出現(xiàn)在csproj文件里 在項目打開的同時可以對csproj文件進(jìn)行修改——微軟可能不認(rèn)為手動修改csproj文件這種情況會經(jīng)常發(fā)生,不過在Visual Studio里通過IntelliSense的支持來修改csproj文件是有可能的在VS2017RC(或更早版本)中打開project.json項目時,會彈出一個把項目單向地轉(zhuǎn)成.csproj項目的確認(rèn)對話框。要注意,這個轉(zhuǎn)換是單向的,所以在確認(rèn)之前要確保已經(jīng)做好了備份。那些使用.NET Core CLI Tools的開發(fā)人員也會收到遷移到MSBuild的通知。Lander說,這次發(fā)布的是一個alpha版本,因為它確實還不能作為正式版發(fā)布?,F(xiàn)在可以下載到這些工具的各個平臺的版本(Windows、macOS和Linux)。
查看英文原文:.NET Core Tools Switch to MSBuild