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