Làm cách nào để tự động Tải lại dự án .NET Core trong Visual Studio 2019?


11

Tôi cố gắng tự động tải lại ASP.NET Core Project giống như Angular với Node hoặc NPM.

Điều đó có nghĩa là, tôi thay đổi mã của .NET Core Project và lưu lại. Thời gian đó tự động có hiệu lực trực tiếp trong trình duyệt và Tự động tải lại trang web trong trình duyệt.


Tôi không chắc chính xác ý bạn là gì khi tải lại nhưng nói chung bạn không thể thay đổi mã trong thời gian chạy.
Yasser Jarouf

@YasserJarouf, tôi không nói về Trong phòng thu hình ảnh 2019.
Akash Limbani

Các dự án ASP.NET Core Angular đã tải lại mã phía máy khách - chúng Angular, không chỉ là same asAngular. ASP.NET Core được sử dụng để cung cấp các API và các trang không phải là SPA.
Panagiotis Kanavos

Bất kỳ cách nào khác, Giống như kết hợp cài đặt gói npm với dự án ASP.NET Core?
Akash Limbani

Câu trả lời:


5

Tôi nghĩ rằng đồng hồ dotnet nên hoạt động. Xem tài liệu từ liên kết vì có nhiều lựa chọn khác nhau.

  1. Thêm Microsoft.DotNet.Watcher.Tools vào phần công cụ của tệp project.json
  2. Chạy khôi phục dotnet
  3. Thực thi với đồng hồ dotnet chạy

Nhưng sử dụng cái này, tôi không thể tải lại tự động như Angular. Nếu tôi nhấn ctrl + s , Thời gian đó không có bất kỳ hành động nào hoạt động trong trình duyệt. Cảm ơn đã cho câu trả lời.
Akash Limbani

bạn phải chạy ứng dụng của mình bằng dấu nhắc lệnh và thêm chi tiết đồng hồ trong dự án. json
PrinceT

Hoặc bạn chỉ có thể sử dụng hồ sơ khởi chạy của tôi mà tôi đã cung cấp trong câu trả lời của mình ..
GrowSing

Có tôi đã làm điều đó. Tôi kiểm tra bằng cách sử dụng lệnh chạy dotnet xem này.
Akash Limbani

Bạn có thể thấy những thay đổi trong giao diện điều khiển .. khi bạn cố chạy .. bạn có thể thấy gì không?
PrinceT

3

Theo yêu cầu này, chúng tôi cần chạy ứng dụng lõi .net giống như ứng dụng Angular, tự động tải các trang và nội dung mà không cần làm mới và làm mới thủ công.

Tôi đã thực hiện một số nghiên cứu và có kinh nghiệm trong hơn 7 năm làm nhà phát triển .net làm việc như một nguồn lực cao cấp trong công ty phát triển ASP.NET , việc tự động tải lại là không thể trong dự án lõi ASP.NET. Tuy nhiên, chúng tôi đã thành công, trong giải pháp của chúng tôi, chúng tôi đang sử dụng đồng hồ dotnet để theo dõi các tệp nguồn và nếu một tệp thay đổi, tắt ứng dụng mà nó khởi động, xây dựng lại và xuất bản dự án, sau đó khởi động lại ứng dụng thì chúng tôi chỉ cần làm mới trang theo cách thủ công trong trình duyệt để nhận các thay đổi được thực hiện trong ứng dụng, chúng tôi không yêu cầu xây dựng hoặc bắt đầu dự án.

Các bước để làm theo để sử dụng đồng hồ asp.net:

1) Ứng dụng cốt lõi của Creat.Net.

2) Mở một cửa sổ lệnh trong thư mục dự án Web của bạn

3) Loại dotnet watch run

4) Mở trình duyệt của bạn và điều hướng đến API hoặc Trang

5) Thay đổi mã nguồn

6) Lưu tập tin

7) Quay trở lại trình duyệt và làm mới thủ công

8) Bạn sẽ thấy sự thay đổi được phản ánh


Làm thế nào để làm trong Visual Studio 2019?
Akash Limbani

2

Bạn có thể sử dụng dotnet watch. Viz. Tài liệu

Tôi đã tạo hồ sơ bữa trưa tùy chỉnh để dễ dàng chạy trong VS.

"Watch": {
  "executablePath": "dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchBrowser": false,
  "launchUrl": "http://localhost:5000/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

Sử dụng cái này, Không tải lại tự động trong trình duyệt như Angular.
Akash Limbani

Bạn có thể chạy dự án Angular?
Akash Limbani


2

chạy lệnh này trong bảng điều khiển dự án

dotnet watch run

cùng làm việc cho mã studio hình ảnh


1

Bạn nên suy nghĩ gấp ba trước khi chuyển sang tùy chọn này. (1) Nó là một tài nguyên tiêu thụ. Vì nó đòi hỏi phải tự động xây dựng, như là hoạt động trước, của dự án đã sửa đổi và đôi khi là toàn bộ giải pháp. (Hãy tưởng tượng một giải pháp Asp.net trung bình đến khổng lồ được sáng tác từ nhiều dự án, được xây dựng cho mỗi sửa đổi được thực hiện !! thời gian còn lại để lập trình ??? !!) (2), như bạn biết, tải lại trang tiêu tốn nhiều thời gian cho lần khởi chạy đầu tiên sau khi xây dựng thành công !! ... Do đó, thời gian bạn muốn đạt được từ tùy chọn này, bạn sẽ bị lãng phí nhiều, đặc biệt là các ngôn ngữ lập trình dựa trên CLR (ví dụ .NET Core). Và cuối cùng, (3) dự án của bạn dự kiến ​​sẽ cần phát triển các mẫu thử nghiệm có thể được tiêm tự động để xem quy trình tự động hóa tốt hơn, hãy tưởng tượng nó khó như thế nào!

Thay vào đó, hãy thử kiểm tra đơn vị giải pháp của bạn và sau đó, mọi sửa đổi tiếp theo dự kiến ​​sẽ rất hời hợt và ít xảy ra.

Nếu bạn không đồng ý với đề xuất của tôi, tôi khuyên bạn nên phát triển một tiện ích mở rộng phòng thu trực quan để tải lại trang web mục tiêu on-buildtốt hơn là một on-save-changessự kiện. Tiếp theo, Ctrl + bsẽ làm công việc!

Bắt đầu từ đâu?

Tôi đã phát triển một VSIX theo dõi các thư mục để tải các tệp được tạo tự động cụ thể bên ngoài UI UI. kiểm tra mã nguồn bạn sẽ có ý tưởng về quản lý tệp của dự án. nó xoay trong API EnvDTE, xin vui lòng có một cái nhìn trong này đoạn mã.

Ngoài ra, kiểm tra dự án nguồn từ đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.