.NET Core - MSBuild và project.json
.NET Core đã quyết định bỏ project.json và quay trở lại MSBuild và * .csproj. Đây là điều đã xảy ra trong công cụ .Net Core 2.0 preview1 vừa được phát hành. Điều này khá đáng thất vọng, bởi vì project.json là một luồng gió mới. Tuy nhiên, nó là điều dễ hiểu và có nhiều lợi thế.
Bây giờ chúng ta hãy thảo luận về những lợi thế mà thay đổi mang lại -
Nó sẽ giúp việc chuyển đổi các giải pháp Visual Studio hiện có sang .NET Core trở nên đơn giản.
Đó là một sự thay đổi lớn và nó cũng sẽ cho phép tận dụng khoản đầu tư hiện có vào CI / RM dựa trên MSBuild.
Trong quá trình xây dựng trong MSBuild, chúng ta có thể nghĩ đến việc biên dịch gia tăng, giải quyết các phụ thuộc thời gian xây dựng, quản lý cấu hình, v.v.
Rất nhiều công việc được yêu cầu để vận chuyển dotnet cli đúng thời hạn, vì nó không chỉ là về ASP.NET Core mà còn có các ứng dụng console, ứng dụng UWP, v.v.
Sau đây là những thay đổi trong MSBuild và * .csproj -
Tệp Project.json (* .xproj) sẽ được thay thế bằng MSBuild (* .csproj).
Các tính năng trong project.json sẽ bắt đầu được hợp nhất trở lại vào * .csproj.
Vẫn chưa rõ họ sẽ làm gì với danh sách gói, nhưng người ta đã đề cập rằng họ có thể giữ nó dưới dạng json dưới nuget.json hoặc hợp nhất nó vào *.csproj.
Được cho là quá trình chuyển đổi phải trơn tru và có khả năng tự động nếu sử dụng Visual Studio.
Ưu điểm của MSBuild
MSBuild là mã nguồn mở và có sẵn trên GitHub và bị ràng buộc trở thành biểu mẫu chéo hoàn toàn.
MSBuild sẽ đơn giản hóa và cắt xén cấu trúc của *.csproj.
Microsoft cũng đang giới thiệu một hệ thống dự án mới sẽ cho phép nhiều kịch bản mà không cần Visual Studio và thông tin chi tiết được cung cấp trên Url này https://github.com/dotnet/roslyn-project-system/.
Mục tiêu là ngay cả với thiết lập MSBuild, việc làm việc với các bản dựng và dự án sẽ liền mạch trong Visual Studio IDE như bên ngoài nó.
MSBuild so với project.json
Bây giờ chúng ta hãy tạo một dự án bảng điều khiển mới với công cụ .NET Core preview2 bằng cách thực hiện lệnh sau.
dotnet new -t console
Để xem tất cả các tệp được tạo trong dự án này, hãy chạy dir chỉ huy.
Bạn có thể thấy rằng hai tệp được tạo, Program.cs và project.json tập tin.
Bây giờ chúng ta hãy tạo một ứng dụng bảng điều khiển với công cụ .NET Core 2 preview1 bằng cách thực hiện lệnh sau.
dotnet new console
Để xem tất cả các tệp được tạo trong dự án này, hãy chạy dirchỉ huy. Bạn có thể thấy rằng ba tệp được tạo,Program.cs, NuGet.config và MSBuild.csproj thay vì tệp project.json.
Bây giờ chúng ta hãy so sánh project.json và MSBuild.csproj các tệp cạnh nhau.
Ở bên trái, chúng tôi có tệp ở định dạng json trong khi ở bên phải, tệp ở định dạng XML. Bạn có thể thấy rằng trong tệp project.json, bên trong phần phụ thuộc, cónetcoreapp1.0, khi ở trong tệp MSBuild.csproj, bạn sẽ thấy netcoreapp2.0.