2014-10-15 13 views
6

Tôi đang chạy ứng dụng mẫu HelloMvc từ dòng lệnh bằng cách sử dụng k web. Tôi đã cố gắng chạy nó bằng cách sử dụng các môi trường khác nhau có sẵn cho tôi sử dụng kvm sử dụng -runtime. Khi tôi thay đổi bộ điều khiển và nhấn F5 (hoặc Ctrl + F5) trong trình duyệt, mã sẽ không được biên dịch tự động và trang không thay đổi. Tôi đang làm gì sai?Trong ASP.NET vNext, tại sao mã không được biên dịch lại khi đang bay?

Active Version  Runtime Architecture       
------ -------  ------- ------------ 
     1.0.0-alpha3 svr50 x86   
     1.0.0-alpha3 svrc50 x86   
     1.0.0-alpha4 CLR  x86   
    * 1.0.0-alpha4 CoreCLR x86 
+0

@Patrick Hofman những gì một cảm ơn và liên lạc cá nhân không được phép nữa? ;) –

+1

Không. Và nó chưa bao giờ được. Xem http://meta.stackexchange.com/questions/5029/are-taglines-signatures-disallowed#468725 ví dụ: "Vui lòng không sử dụng chữ ký hoặc dòng giới thiệu trong bài đăng của bạn". –

+0

Touche. Bạn phải tàn nhẫn! Làm tốt lắm. –

Trả lời

16

Chạy dnx web từ dòng lệnh của bạn chỉ bắt đầu lưu trữ của bạn. Để có được tính tự động biên dịch tự động, cần phải xem các tệp để thay đổi và khởi động lại máy chủ của bạn nếu có bất kỳ thay đổi nào được phát hiện. Để thực hiện điều này sử dụng --watch cờ và chạy lệnh web của bạn như thế này:

dnx --watch web 

Hiện nay điều này chỉ tắt máy chủ của bạn khi một sự thay đổi được phát hiện, vì vậy bạn cần một cái gì đó khởi động lại nó một lần điều đó xảy ra. IISExpress thực hiện điều này cho bạn nếu bạn chạy dự án của bạn từ Visual Studio 14.

Đặt cược tốt nhất của bạn cho luồng công việc này ngoài Visual Studio là thông qua một công cụ xây dựng JavaScript hoặc tập lệnh npm. Tôi sẽ khuyên bạn nên xem xét this gulp-aspnet-k plugin (lưu ý plugin này chỉ hoạt động trên các cửa sổ hiện tại) nếu bạn muốn biên dịch lại liên tục trên các thay đổi tệp trong khi làm việc bên ngoài VS14. Dường như là cách tốt nhất để thực hiện điều đó mà không có IISExpress mà tôi đã tìm thấy. Plugin này là/là cửa sổ cụ thể, nhưng nhìn vào mã sẽ giúp bạn bắt đầu. :)

Glenn F. Henriksen đã viết một trình bao bọc cho nodemon rất đẹp, được gọi là kmon. Hãy thử nó ra là tốt. The kmon GitHub repository has all the instructions you need

+0

Cảm ơn rất nhiều, upvoted và chấp nhận. –

+0

Tôi không thể chạy nó trong mac OS X? –

3

Dựa trên gulp plugin linked to by AndersNS, có một chút của PowerShell, bạn có thể sử dụng để tự động khởi động lại ứng dụng:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "for(;;) { Write-Output \"Starting...\"; k --watch web }" 

Nếu bạn dính này vào một tập tin thực thi (ví dụ run.cmd), bạn có thể dễ dàng khởi động ứng dụng, giữ cho nó chạy và tự động khởi động lại và xây dựng lại trên các thay đổi tập tin.

Đảm bảo bạn điều chỉnh dòng lệnh k nếu bạn muốn sử dụng một mục tiêu khác hơn web.

Các vấn đề liên quan