Browse Category

Work…

TFS: Checked-out identical files

Okazuje się, że w tak zarąbistym narzędziu jakim jest TFS, można łatwo i bez trudu wykluczyć wszystkie pliki, których nie tknęliśmy, ale nasz wspaniały source control tool potraktował je jako zawierające “nasze zmiany”. Mimo, że jeśli tylko spróbujemy porównywać ów plik, z tym na serwerze, to sam przyzna, że są one identyczne. Keep Reading

Silverlight & async unit testing

W pracy mamy aplikacje, która jest pisana w Silverligtcie. Ostatnio trafiła do mnie potrzeba napisania unit testa do pokrycia command’a z ViewModela. Niestety, sam command wykorzystuje pewne dane słownikowe, które wcześniej aplikacja sobie zaczytuje asynchronicznie z WCF’a.
W projektach, w których dotychczas uczestniczyłem asynchroniczność była wykorzystywana na niskim poziomie i w zasadzie, nigdy nie miałem przyjemności i okazji do napisania testu pod coś co łączy się w takim trybie. Dodatkowo dane słownikowe winny się były załadować na początku unit testu w metodzie inicjalizującej, ponieważ chciałem je móc wykorzystać w kilku testach.
Keep Reading

Zasadzka na wyjątka!

Czasami zdarza sie, że aplikacja wraca z testów bo tester popsuł aplikację i gdzieś leci mu wyjątek.
Czasami zdarza się, że sami popsujemy naszą aplikację i gdzieś nagle leci wyjątek.
Czasami od razu wiemy, które miejsce “przecieka”, kiedy indziej musimy chwilę poszukać.
Niestety, również czasami zdarza się, że pomimo tego, że wiemy gdzie jest dziura, ciężko nam jest namierzyć konkretny moment gdy dziad jest rzucany (np. dana metoda wykorzystywana jest w wielu różnych przypadkach).. no zdarza się..szukanie i gdybanie sprawia, że zadanie jest coraz mniej przyjemne.

Okazuje się, że w Visual Studio mamy możliwość na zasadzenie się na konkretny typ wyjątka.
Przy pomocy skrótu klawiszowego “Ctrl+Alt+E” ( tudzież Debug->Exceptions ), możemy wywołać okienko “Exceptions“, które pozwala nam na zasadzenie się na konkretny, bądź wszystkie rodzaje wyjątków w naszej aplikacji.

Taka fajna opcja, niby jest tam od zawsze, a czasem wogóle nie wykorzystywana.

Wykrzaczajaca sie kontrolka w designerze.

Przy okazji ostatniego spotkania Wroclawskiej Grupy .NET przypomnial mi się jeden myk, który swego czasu ułatwił mi znacząco życie.
Czasami zdarza sie, ze projektując kontrolkę tudzież formularz wykorzystujący różne nasze kontrolki, ta z różnych tylko sobie znanych powodów się nam czasem wykrzacza gdy chcemy ją podejrzeć w designerze.
W znalezieniu błędu może pomóc nam prosty trik:
 
Otwieramy drugie Visual Studio (#B#) z tą samą solucją i podłączamy się pod proces pierwszego Visual Studio (#A#) (w okienku “Attach to process” będziemy widzieć proces drugiego visual studio, więc nie podłączymy się sami pod siebie 🙂 )
Następnie w Visual Studio #A# otwieramy jeszcze raz naszą formatkę z kontrolka i przechodzimy do podglądu designera.
W momencie, gdy kontrolka rzuca obrzydliwym wyjątkiem, Visual Studio #B# zatrzymuje się nam dokładnie w miejscu, z którego leci wyjątek 🙂
 
Voilà!

CodeRun – IDE w przeglądarce :)

Ostatnio jeden ze znajomych podesłał mi ciekawego linka do strony stworzonej przez Izraelskich kolegów – CodeRun.com – darmowe IDE w przeglądarce, które uroczo przypomina Visual Studio.
Wg informacji zawartych na stronie możemy wyczytać że CodeRun pozwala na tworzenie aplikacji w:

  • c# (asp.net, silverlight, wcf i wpf),
  • php,
  • javascript,
  • HTML
  • i CSS

… brzmi ciekawie 🙂 Keep Reading

SQLite & VS 2010

Ostatnio, do jednego ze swoich projekcików potrzebowałem małej bazy danych. Po małych poszukiwaniach natrafiłem na SQLite. – małą bibliotekę napisaną w języku C implementujcej silnik bazy danych (parokrotnie wspominano o niej chociażby na .netomaniaku), oraz na odpowiedni data provider do niej pod .net – System.Data.SQLite.

Wraz z instalowaniem biblioteki dostajemy malutką shell’ową aplikację, która pomimo swej prostoty jest średnio wygodna w używaniu. Jak się okazuje, istnieją też już programy o bardziej przystępnej formie (choć nie tak przystępnej jak MS SQL Manager 😀 ) do zarządzania naszą bazą danych, jak np. SQLite Administrator.

I voilla, możemy działać…ale.. nie tak szybko. Aby móc skorzystać z tej biblioteczki pod aplikacja pisaną w .net 4.0 potrzebny jest jeszcze mały zabieg.

Ponieważ wrapper został stworzony w wersji niższej niż 4.0, podczas próby uruchomienia naszej aplikacji dostaniemy następujący błąd:

Mixed mode assembly is built against version ‘v2.0.50727’ of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.

Lekiem na zło, jest mała zmiana w pliku konfiguracyjnym aplikacji. Otóż musimy ustawić atrybut useLegacyV2RuntimeActivationPolicy na ‘true’ w sekcji <startup>:

  • 1
  • 2