Kolejnym błędem, jaki może się przydarzyć podczas pracy z Silerelightem jest cachowanie aplikacji, a dokładnie plików xap, w pamięci przeglądarki. Gdy zmiany w kodzie nie są widoczne w uruchamianej aplikacji, warto sprawdzić czy widzimy jej najnowszą wersję.
Problem ten nie jest widoczny, gdy rozwijamy tylko aplikację Silverlight, ale jeśli zagnieżdżamy ją w stronie ASP.NET, która jest w tym samym "Solution", to bardzo często plik xap nie jest podmieniany na nowy, a co za tym idzie wyświetlamy starą i nieaktualną wersję aplikacji Silverlight-a.
Rozwiązanie:
- Przeglądarka IE -> Tools -> Internet Options -> General -> Browsing History -> Delete -> Temporary Internet Files (ja tu wybieram opcję "Delete All", tak żeby mieć pewność)
- Drugim, może nie do końca rozwiązaniem, jest wyświetlanie numeru build-a aplikacji. Wystarczy wrzucić drobną labelkę, a w niej numer wersji. Np.:
<TextBlock x:Name="label" Width="400" Height="50"
TextWrapping="Wrap" />
Assembly assembly = Assembly.GetExecutingAssembly();
label.Text = assembly.FullName;
W pliku AssemblyInfo.cs należy zmienić z 1.0.0.0 na 1.0.*
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]
Straciłem kilka godzin, zanim przypadkiem wpadłem na to, że pracuje na niezaktualizowanej wersji aplikacji Silverlight-a. Mam nadzieje, że Wy już nie będziecie musieli się z tym męczyć.
Pozdrawiam,
Jacek Ciereszko

Brak komentarzy:
Prześlij komentarz