NET Core - MSBuild

NET Core đã quyết định bỏ project.json và quay 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à dễ hiểu và có nhiều lợi thế là tốt.

Bây giờ chúng ta hãy thảo luận về những lợi thế mà sự thay đổi mang lại –

  • Nó sẽ làm cho quá trình 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 thay đổi lớn và nó cũng sẽ cho phép tận dụng khoản đầu tư hiện tại 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.
  • Cần phải làm rất nhiều việc để vận chuyển dotnet cli đúng hạn, bởi vì nó không còn chỉ là về ASP.NET Core, mà còn là các ứng dụng bảng điều khiển, ứ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 có đề cập rằng họ có thể giữ nó dưới dạng json bên dưới nuget.json hoặc hợp nhất nó vào *.csproj .
  • Giả sử rằng quá trình chuyển đổi sẽ diễn ra suôn sẻ và có khả năng tự động nếu sử dụng Visual Studio.

Ưu đim ca MSBuild

  • MSBuild là nguồn mở và có sẵn trên GitHub và chắc chắn sẽ trở thành đa nền tảng hoàn toàn.
  • MSBuild sẽ đơn giản hóa đáng kể và cắt bớt 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ẽ kích hoạt nhiều tình huống mà không cần Visual Studio và các 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, làm việc với các bản dựng và dự án sẽ liền mạch trong Visual Studio IDE cũng như bên ngoài nó.

MSBuild so vi 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 lệnh dir .

NET Core - MSBuild

Bạn có thể thấy rằng hai tệp đã được tạo, tệp Program.cs và project.json .
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 lệnh dir . 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.

NET Core - MSBuild

Bây giờ chúng ta hãy so sánh các tệp project.json và MSBuild.csproj cạnh nhau.

NET Core - MSBuild

Ở bên trái, chúng ta 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 , trong khi trong tệp MSBuild.csproj, bạn sẽ thấy netcoreapp2.0 .

Khôi phục và xây dựng với MSBuild (xem thêm)

Trả lời