2011-01-15 21 views
13

Mam prosty program Silverlight, który wyświetla kilka obrazów. Zmodyfikowałem go, wyświetlając więcej obrazów, ale kiedy kliknę "uruchom bez debugowania", ciągle działa stara kompilacja z mniejszą liczbą obrazów. Kiedy kopiuję kod do nowego projektu i uruchamiam go, to działa on po raz pierwszy, ale wtedy każda kolejna zmiana nie jest wyświetlana. Jaki może być problem? Używam Visual Web Developer 2008 Express.Visual Studio uruchamia starą kompilację

+1

Czy wszystko działa poprawnie, jeśli ręcznie tworzysz projekt? W menu "Kompilacja" kliknij "Odbuduj rozwiązanie". Następnie spróbuj uruchomić swój projekt. Którą wersję widzisz? –

+0

@Cody: To wciąż stara wersja. Ale kiedy ją skompiluję i uruchomię wygenerowaną stronę TestPage.html, jest to nowa wersja. –

+0

Tak więc kompilacja działa poprawnie, ponieważ można ręcznie wykonywać wbudowane pliki?Problem polega tylko na tym, że Visual Studio uruchamia starą wersję nawet po przebudowie? –

Odpowiedz

1

Zdarzyło mi się też. Cóż, nie znam dokładnego powodu tego zachowania. Ale kiedy zamykam visual C express 10, a następnie ponownie otwiera i buduję, buduje nowy zapisany plik. Domyślam się, że nadal wisi na stary plik, gdy wystąpi błąd w niektórych trybach debugowania lub coś podobnego.

2

Może to problem z buforowaniem (przeglądarka internetowa/serwer proxy).

oszukać spróbować przeglądarki, aby osadzić plik XAP z dodatkowym parametrem, który zmienia się przy każdym otwarciu wtyczki:

<param name="source" value="ClientBin/BubuApp.xap?<%=Guid.NewGuid().ToString() %>"/> 

Jeśli to nie pomoże, spróbuj oczyścić projektu (usuwanie OBJ/foldery bin & xap plik).

13

Zawsze zaznacz opcję "Menedżer konfiguracji" w menu "Kompilacja" w Microsoft Visual Web Developer. CheckBox "build" musi zostać sprawdzony, w przeciwnym razie nie będzie budowany.

Zdarzyło mi się, mam nadzieję, że to pomaga innym.

+0

Działa również dla aplikacji Winform. Dzięki – yossico

2

Dzieje się tak, ponieważ pamięć podręczna jest pełna. po prostu przejdź do folderu bin i obj i usuń wszystkie pliki tymczasowe. Teraz będzie działał poprawnie.

+1

Nie działa dla mnie. Usunięte pliki internetowe bin, obj i temp. – Kurren

+0

Pracowałem dla mnie !! – Aamir

1

Używam cierpieć to. Wszystko to stanowi (dla mnie) problem z zawartością folderu.

Być może można to sprawdzić:

  • Usuń% windir% \ microsoft.net \ Framework \ v4.0xxx \ Temporary ...
  • IIS ekspresowe: nawet jeśli zmienisz plik wyjściowy dla skompilowany wyniki, zobaczysz w applicationhost.config, że wiele razy IISExpress to naprawdę "patrzy" na domyślny folder bin twojego projektu.
  • Nawet jest możliwe, że masz różne konfiguracje Debugowania lub Release, więc może IIS szuka BIN z kodem Release, a teraz kompilujesz Debugowanie do innego folderu, czy mnie rozumiesz?

Powodzenia

2

Okazało się, że musiałem zamknąć wszystkie otwarte instancje Visual Studio przed mam to działa ponownie

+0

To. Usunąłem także foldery/bin i/obj. Dzięki! – Scott

0
  1. zatrzymać wszystkie incntance z VS.
  2. Usuń wszystkie/bin, a nie tylko/bin/Debug. All/bin
  3. Usuń plik .suo użytkownika w rozwiązaniu reż. Stworzy się na sobie.
  4. Usuń wszystkie punkty okna przywracania punkt
  5. Stop IIS. 6 Uruchom IIS po 1 minucie.
  6. Rebuild rozwiązanie, Buid projektów

To happing na mnie. Bardzo paskudny. Możesz ponownie uruchomić komputer. Sprawdź globalną bibliotekę asemble.

9

Po prostu przydarzyło mi się to w VS 2013 dla sieci. Musiałem zmienić projekcie URL w:

"Właściwości projektu"
"Web"   zakładka
    "Serwery"

na inny numer localhost i utworzyć wirtualny katalog .

Przed zmianą było:

http:// local host:55487/ 

zmienił go do:

http:// local host:55488/ 

Następnie kliknął "Create Virtual Directory".

Chciałbym wiedzieć, dlaczego tak się stało w pierwszej kolejności.

+0

To. Dziękuję Ci. Spędziłem godziny próbując wyśledzić, co się dzieje, i to jest jedyna rzecz, która naprawiła ten problem dla mnie. Nie jestem również pewien, dlaczego tak się dzieje, ale chciałbym to wiedzieć. –

+0

Zmieniłem folder kodu źródłowego i wystąpił ten problem. Kiedy wprowadziłem tę zmianę, została ona zresetowana i zadziałała. Dzięki Adyson – NEOLPAR

0

Miałem ten sam problem i żadna z odpowiedzi nie działała dla mnie. Okazuje się, że budowanie projektu ASP.Net nie zbudowało projektu Silverlight, więc uruchomienie bez debugowania nie zaktualizowało Silverlight.

Poprawka: Kliknij prawym przyciskiem myszy projekt Asp.Net. Buduj zależności> zależności projektu. Sprawdź projekt Silverlight. Teraz budynek powinien działać.

0

Cierpiałem również na ten problem i żadna z sugestii nie zadziałała. Budowałem dodatek Office.js, a debugowanie było z usługą IIS Express. Co naprawił problem dla mnie było usuwanie plików w C:\Users\<user>\AppData\Local\Temp\Temporary ASP.NET

Właściwie, poszedłem do przodu i i usunięte całą C:\Users\<user>\AppData\Local\Temp folderu na złość :)

0

Jeśli jest to aplikacja internetowa, zmienić adres URL z projektem nowy numer portu.

Przykład:

Zmiana od http://localhost:3688/

Aby http://localhost:36881/

Aby to zrobić:

  1. Przejdź do projektu właściwości -> Web

  2. Zmień adres URL

  3. Hit "Create Virtual Directory"

  4. Wreszcie, zbudować i uruchomić

0

miałem tego problemu w witrynie internetowej.
Witryna odwołuje się do 1 projektów w roztworze, a zmiany w nim nie będą odzwierciedlone w debugowaniu.
Problem był trzecim projektem odwołującym się do przestarzałej biblioteki dll tego samego, tego samego projektu referencyjnego.
Usunąłem projekt i wszystkie odniesienia w innych projektach, odtworzyłem i ponownie odwoływałem się do wszystkiego i wszystko działało dobrze.

0

Wystarczy usunąć folder "Release" w projekcie ze starą wersją kodu.

0

Też miałem ten problem i podczas gdy niektóre z powyższych poprawek pomogły tymczasowo, to, który pracował dla mnie, było usunięcie historii i buforowanie w Opcjach internetowych.

Przejdź do opcji Internetu (dostępne również w VS za pomocą opcji Narzędzia> opcje> Środowisko> Przeglądarka internetowa> Opcje Internet Explorer).

Na karcie Ogólne kliknij Ustawienia w sekcji Historia przeglądania.

  • Na stronie Temporary Internet Files wybrać każdym uruchomieniu Internet Explorer
  • Na karcie Historia ustawić dni, aby zachować historię do 0
  • Dnia Pamięci Podręcznej i karcie danych upewnij Pozwól bufory stronie i bazy danych NIE są zaznaczone.

Nie jestem pewien, czy wszystkie powyższe są wymagane, ale dokonałem wielu zmian w plikach i do tej pory zostały one od razu odzwierciedlone w wersjach dynamicznych bez zauważalnych problemów z wydajnością.

Zdaję sobie również sprawę, że jeśli ustawię opcję "Za każdym razem, gdy odwiedzam stronę internetową" zamiast "Za każdym razem, gdy uruchamiam Internet Explorera", nie muszę zatrzymywać się i restartować projektu, aby zobaczyć zmiany. Tak właśnie powinno być!

Powiązane problemy