.NET i takie tam

Archive for Grudzień 2007

Szczęśliwego Nowego Roku 2008!

leave a comment »

Happy New Year 2008!
Reklamy

Written by sakowicz

Grudzień 31, 2007 at 4:17 pm

Napisane w Misc

Wesołych Świąt

leave a comment »

wesolychsw.jpg

Written by sakowicz

Grudzień 22, 2007 at 5:14 pm

Napisane w Misc

.NET Compact Framework 3.5 Power Toys

with one comment

Pojawiła się kolejna wersja zbioru power toys‚ów dla .NET Compact Framework‚u wersji 3.5 – numerek wersji trzeba podkreślić, gdyż jest on bardzo ważny, o czym za chwilę. W skład pakietu wchodzą:

  • Remote Performance Monitor and GC Heap Viewer – super narzędzie umożliwiające nam dostęp do wszelakiej maści liczników pozwalających określić wydajność naszej aplikacji. Dodatkowo mamy możliwość podejrzenie stosu Garbage Collectora (GC) i zapisania jego stanu w celu późniejszej analizy, świetnie nadaje się to do poszukiwania ‚wycieków pamięci’. Wcześniejsze wersje tego narzędzia nie umożliwiały pracy z emulatorem, w tym wydaniu ograniczenie to zostało zniesione i nie musimy posiadać fizycznego urządzenia do przeprowadzenia testów. Zastanawia mnie jednak, jak testy na emulatorze mają się do testów na rzeczywistym PDA, wydaje mi się, że nie powinno być jakiś strasznych rozbieżności. Na pewno wystarczy do wyrobienia sobie poglądu jak nasza aplikacja się sprawuje.
  • NETCF CLR Profiler (NetCFCLRProfiler.exe)- to jest dopiero narzędzie, potrafi przedstawić graficzną reprezentację następujących po sobie alokacji i de-alokacji pamięci, kolejność wywołań funkcji itp.
  • App Configuration Tool (NetCFcfg.exe) – Narzędzie które uruchomione na urządzeniu, pokaże nam zainstalowane wersje .NET CF oraz informacje o DLL‚ach znajdujących się w GAC’u. Dodatkowo pozwoli zmienić domyślną wersję Framework‚a na której będą wykonywane wszystkie jak i poszczególne aplikacje (oczywiście te bez pre-definiowanej wersji).
  • NETCF ServiceModel Metadata Tool (NetCFSvcUtil.exe) – Pisząc aplikacje będącą klientem Windows Communication Foundation (WCF) na pewno docenimy tą aplikację. Pozwala ona na generację proxy którego możemy skorzystać w naszej aplikacji. Generalnie jest to odpowiednik desktopowego narzędzia svcutil.exe.
  • Remote Logging Configuration Tool & Log Viewer (NetCFLogging.exe & logviewer.exe) – narzędzia do konfiguracji, opcji logowania, jakie są wbudowane w .NET CF (ładownie assembly, interakcja z kodem natywnym, interakcja z siecią, logowanie błędów etc.) jak i narzędzie do przeglądania tych, że logów.

Jakiś czas temu usilnie próbowałem uruchomić NETCF CLR Profiler i guzik, nic z tego nie wychodziło, co uruchomiłem profilera otrzymywałem error ‚This operation returned because the timeout period expired. (Exception from HRESULT: 0x800705B4) 800705b4‚.
Problem okazał się być prosty, aplikacja którą próbowałem przetestować, korzystała z .NET CF 2.0, a nasze narzędzie jak się później eksperymentalnie dowiedziałem nie jest z nią kompatybilne. Proste prze-kompilowanie aplikacji w Visual Studio 2008 też nic nie da gdyż musimy, zmienić docelową platformę, co w moim przypadku prowadziło do jakiś dziwnych błędów typu ‚Unknown type to set.‚. Jeszcze nie miałem czasu sprawdzić o co chodzi z tym błędem ale podejrzewam, że jest to powiązane z SQL Compact Edition 2.0/3.5 i różnymi wersjami plików *.sdf.

Najprostszym sposobem upewnienia się, że nasza aplikacja (skompilowana w Visual Studio 2005) będzie pracowała na platformie w wersji 3.5 jest skorzystanie z Application Configuration Tool (NetCFcfg.exe). Innym sposobem jest jawne określenie pożądanej wersji w pliku konfiguracyjnym aplikacji (<app_name.exe.config>). Przykładowy plik może wyglądać następująco:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v3.5.7283"/>
  </startup>
  <runtime>
    <compatibilityversion major="3.5" minor="0"/>
  </runtime>
</configuration>

Oczywiście plik konfiguracyjny należy umieścić w katalogu głównym naszej aplikacji. Ten sposób, jest bardziej przydatny w sytuacji, gdy robimy deployment aplikacji na wiele urządzeń i chcemy się upewnić, że wszystkie będą pracowały pod kontrolą określonej wersji platformy .NET.

Written by sakowicz

Grudzień 12, 2007 at 10:59 am

Napisane w .NET CF, Tools

Detekcja wersji pliku *.sdf

leave a comment »

Nie tak dawno temu pisałem o sposobie aktualizacji bazy Microsoft SQL Compact Edition do wersji 3.5, i już wtedy zastanawiałem się, jak w sposób programowy określić wersję pliku bazy danych. Szybkie sprawdzenie namespace’ów nie dało mi niczego, co mogłoby być użyteczne. Nie mogę powiedzieć, żebym był zaskoczony, żaden zespół developerski nie jest idealny. Wpisałem sobie, więc to pytanie na moją listę ToDo i … jakoś nie miałem czasu się tym zainteresować.
Dzisiaj przeglądając poranną porcję ‚prasy’, natrafiłem na post pana João Paulo Figueiry, traktujący właśnie o wyżej wymienionym problemie. Są, więc dwa sposoby pierwszy, prosty, nieelegancki i uciążliwy – to otwieranie pliku kolejno w różnych wersjach SQL Compact Edition, jak otrzymujemy Exception to znaczy, że plik nie pasuje do aktualnie używanej wersji. Oczywiście musimy mieć zainstalowane wszystkie wersje SQL CE na naszym urządzeniu. Innym sposobem jest otworzenie pliku i odczytaniu kilku bajtów określających wersję pliku. Ciekaw jestem czy autor określił te wartości doświadczalnie, czy też zostały one podane przez Microsoft. Najważniejsze, że sposób działa, gdzie należy szukać i jakich wartości, można znaleźć z załączonym przykładzie.

Written by sakowicz

Grudzień 11, 2007 at 11:16 am

Napisane w .NET CF, SQL

City Breaks

2 Komentarze

Narobiło mi się zaległości w czytaniu i w projektach, nad którymi pracuję a co gorsza w następnych miesiącach nie będę miał za dużo wolnego czasu. Trochę mnie to denerwuje, ale co zrobić w końcu nie samym programowaniem człowiek żyje. W ostatnią sobotę zrobiłem sobie wycieczkę do Londynu, ot tak na jeden dzień. Wstyd się przyznać, ale była to moja pierwsza wizyta w tym mieście. Nie zrobiło ono na mnie szczególnego wrażenia, ot kolejne miasto może z nieco większym bagażem historycznym. Dublin zdecydowanie bardziej mi się podoba pomimo tego, na pewno jednak jeszcze je odwiedzę. Chociażby, żeby odwiedzić liczne muzea i móc w przyszłości powiedzieć, że widziałem np. prace Leonarda Da Vinci. Innym powodem jest może być to, że mój szef wspominał coś o wydelegowaniu mnie na jakiś czas do naszego biura w Londynie – ale to nic pewnego.

W przyszły weekend czeka mnie kolejna wycieczka, tym razem lecę do Alicante w Hiszpanii, powinno być ciekawie, potem święta a po sylwestrze, wylot do Nicei i możliwe, że wizyta w Monte Carlo. Po wizycie we Francji, lecę do Eindhoven w Holandii a w tydzień później na zasłużony odpoczynek do Polski. Czyli będzie się działo, ciekawe czy Ryanair ma jakieś gratyfikacje dla częstych klientów, gdyż w najbliższym czasie zdecydowanie na nie zasłużę 😉
W trakcie tych wypadów myślę, że będę miał okazję wypróbować, i miejmy nadzieję opanować wszystkie opcje, aparatu Sony Alpha 100, jaki sobie ostatnio sprawiłem. Sporo nauki przede mną, gdyż instrukcja to opasłe tomisko terminów, które, takiemu laikowi w dziedzinie fotografii jak, nic nie mówią, jednak dobrze jest mieć jakieś dodatkowe zajęcie, które oderwie mnie od ciągłego siedzenia przed komputerem.

Written by sakowicz

Grudzień 10, 2007 at 10:51 am

Napisane w Misc

Camtasia & SnagIt

leave a comment »

Firma TechSmith postanowiła zrobić internetowemu światku prezent i rozdaje programy Camtasia i SnagIt za darmo. Nie są to może najnowsze wersje jednak do większości zastosowań wystarczą, aż nadto. Chyba większość, osób czytających mojego bloga będzie wiedziało do czego Camtasia służy – jeśli ktoś nie wie: jest to program do nagrywania filmików z naszego pulpitu. Zdecydowana większość screencast‚ów została nagrana za pomocą tego narzędzia.
SnagIt jest podobny narzędziem, może nie tak spektakularnym (gdyż można znaleźć w siedzi dużo darmowych jego odpowiedników) – mianowicie służy do robienia zrzutów ekranowych. Aby otrzymać klucze rejestracyjne musimy jedynie wypełnić formularze znajdujące się pod tymi linkami: Camtasia, SnagIt.

Written by sakowicz

Grudzień 3, 2007 at 11:13 am

Napisane w Tools