2010-05-28 6 views
12

Chociaż opcja Włącz edycję i kontynuuj jest zaznaczona na karcie Sieć Web w moim projekcie ASP.Net MVC 2, w rzeczywistości nie mogę zmienić kodu źródłowego podczas działania. Na przykład, jeśli próbuję edytować kontroler podczas pauzy w debugerze, nie mogę zmienić pliku (działa tak, jakby był tylko do odczytu).Edycja i kontynuacja nie działa w VS 2010/ASP.Net MVC 2

znalazłem Related Post Edit and continue in ASP.NET web projects jednak

  • Odpowiedzi wydają się sugerować, powinien być w stanie przynajmniej zmodyfikować kod, a następnie odśwież stronę, aby zobaczyć wynik.
  • Nie wiem jaka jest różnica między aplikacją internetową oraz strony internetowej projekty
+0

Odpowiedziałem na podobne pytanie na SO http://stackoverflow.com/a/18772677/1027198 i działa dobrze. –

Odpowiedz

18

Różnica jest taka, że ​​potrzebuje aplikacji internetowych, które są opracowywane podczas gdy strona internetowa jest skompilowany dynamicznie po wykonaniu (nawet kod za).

Ponieważ program ASP.NET MVC używa aplikacji internetowej za każdym razem, gdy wprowadzana jest zmiana, należy ją przekompilować, a rekompilacja wymaga opuszczenia trybu debugowania. Rzeczywiście można modyfikować widoki i częściowe bez potrzeby rekompilacji, ale dla logiki kontrolera, którą zawsze trzeba przekompilować.

Aby przyspieszyć Polecam Państwu następujące:

  1. Przy pracy z widokami i podszablonów (tj jakiejś projektowania rzeczy) uruchomić aplikację z Ctrl + F5 zamiast F5 który będzie po prostu uruchom aplikację w trybie normalnym, a twoje zmiany zostaną automatycznie pobrane po odświeżeniu przeglądarki
  2. Podczas pracy z kodem za powinieneś mieć odpowiedni test jednostki, który pozwoli ci szybko sprawdzić zachowanie r. W takim przypadku uruchamianie w trybie debugowania może być bardziej przydatne, ponieważ może być wymagane sprawdzenie wartości.
+0

+1 @ Darin, dobre wytłumaczenie. – griegs

0

W odpowiedzi na @ Darina, muszę powiedzieć, że nie podoba mi się pomysł zmiany kodu podczas biegu.

Myślę, że powinniśmy być wystarczająco zdyscyplinowani, aby napisać test, który odzwierciedla oczekiwany wynik, napisać kod, a następnie przetestować na żywo.

Powiedziawszy to, poruszam się w ten sposób, aby uruchomić aplikację w przeglądarce bez uruchamiania, wprowadzając zmiany, kompilując i odświeżając przeglądarkę.

Oczywiście nie mam korzyści z przechodzenia przez kod, ale mogę dołączyć do procesu roboczego w dowolnym momencie.

1

Za pomocą Mvc nie można edytować i kontynuować. Ale jeśli uruchomisz projekt przez IISExpress, to bez uruchamiania projektu w trybie debugowania możesz edytować kodbehind, przebudować projekt. A następnie odświeżyć strony w przeglądarce będzie działać.

0

Uaktualnij do wersji VS2012. Obsługuje on edycję i kontynuację projektów ASP.Net (z zakładki Web w oknie właściwości projektu). Chociaż domyślnie nie jest on włączony!