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