2014-10-15 13 views
6

Używam przykładowej aplikacji HelloMvc z wiersza poleceń przy użyciu k web. Próbowałem uruchomić go przy użyciu różnych środowisk dostępnych dla mnie przy użyciu kvm -down-time. Po zmianie kontrolera i naciśnięciu klawisza F5 (lub Ctrl + F5) w przeglądarce kod nie jest automatycznie rekompilowany, a strona się nie zmienia. Co ja robię źle?W ASP.NET vNext, dlaczego kod nie jest rekompilowany w locie?

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 co za podziękowanie i osobisty kontakt nie jest już dozwolone? ;) –

+1

Nie. I nigdy nie było. Zobacz http://meta.stackexchange.com/questions/5029/are-taglines-signatures-disallowed#468725 na przykład: "Proszę nie używać podpisów lub sloganów w swoich postach". –

+0

Touche. Musisz być bezwzględny! Dobra robota. –

Odpowiedz

16

Uruchomienie dnx web z poziomu wiersza poleceń powoduje uruchomienie hosta. Aby uzyskać automatyczne dobro rekompilacji, coś trzeba obejrzeć pliki zmian i zrestartować hosta, jeśli wykryte zostaną jakiekolwiek zmiany. Aby tego dokonać należy użyć flagi --watch i uruchomić polecenie internetową tak:

dnx --watch web 

Obecnie to właśnie zamyka hosta, gdy zostanie wykryta zmiana, więc trzeba coś, co ponownie go uruchamia, gdy tak się dzieje. IISExpress robi to za Ciebie, jeśli uruchamiasz swój projekt z Visual Studio 14.

Twój najlepszy zakład dla tego przepływu pracy poza Visual Studio jest za pomocą skryptu JavaScript lub skryptów npm. Polecam zajrzeć do this gulp-aspnet-k plugin (zauważ, że ta wtyczka działa tylko w systemie Windows), jeśli chcesz ciągłą rekompilację zmian plików podczas pracy poza VS14. Wydaje się być najlepszym sposobem na osiągnięcie tego bez IISExpress, który znalazłem. Ta wtyczka jest/była specyficzna dla systemu Windows, ale patrząc na kod powinien zacząć. :)

Glenn F. Henriksen napisał wrapper dla nodemon, który jest bardzo miły, zwany kmon. Wypróbuj także. The kmon GitHub repository has all the instructions you need

+0

Dziękuję bardzo, wznowiono i zaakceptowano. –

+0

Nie mogę uruchomić go w systemie Mac OS X? –

3

podstawie gulp plugin linked to by AndersNS, tam trochę PowerShell można użyć, aby automatycznie uruchomić ponownie aplikację:

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

Jeśli trzymać to w pliku wsadowym (np run.cmd) można łatwo uruchomić aplikację, utrzymywać go w ruchu i automatycznie uruchamiać ponownie i odbudowywać po zmianie pliku.

Upewnij się, że dostosowałeś linię komend k, jeśli chcesz użyć innego celu niż web.

Powiązane problemy