.NET Core Tools 转向使用 MSBuild 项目格式

  • Jeff Martin
  • 薛命灯

2016 年 12 月 8 日

话题:.NET语言 & 开发

微软之前为了让.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

.NET语言 & 开发