Czy można zrobić coś źle dodając nowy plik do projektu aplikacji WWW w Visual Studio? Dla ustalenia uwagi niech będzie do plik z definicją raportu wczytywanego w czasie działania tejże aplikacji. Plik ten chcemy w razie potrzeby zmodyfikować bez konieczności ponownej kompilacji projektu. Sprawa wydaje się prosta (Add -> Existing item... itd.) ale jest pewien haczyk. Otóż, Visual Studio dla plików z nieznanymi rozszerzeniami ustawia ich właściwość Build Action na wartość None. Jeśli urucho...
Jakiś czas temu szukałem programu, który pozwoliłby mi sterowanie telefonem z Windows Mobile z poziomu komputera. Chodziło mi o możliwość wysłania sms, maila czy podgląd listy zadań. Szukając na sieci takiego programu ...
Osoby, które tworzą aplikacje w WPF-ie i/lub Silverlight-cie na pewno spędzają wiele godzin edytując kod XAML. Wsparcie w Visual Studio 2010 względem 2008 poprawiło dla tego typu pracy, ale nadal warto wspomóc się zewnętrznymi dodatkami, które są darmowe 1. Pierwszy dodatek, który polecam to XAML Intellisense Presenter. Dzięki niemu IntelliSense w edytorze XAML zyskuje nowe możliwości takie jak filtrowanie, wyszukiwanie za pomocą notacji Pascala czyli pisze tylko DG, a okienko pokaże nam DataGrid. Aby z...
Czasami zdarzają się sytuacje, że pomimo usilnych prób nie możemy zreprodukować błędu u siebie na maszynie lokalnej. Musimy sprawdzić dlaczego nasza aplikacji źle działa na maszynie produkcyjnej. W tym wpisie postaram się przedstawić jakie narzędzia mamy do dyspozycji jeśli jeśli taka potrzeba zajdzie. Zobaczmy co jest zatem dostępne.Visual Studio Remote Debugging Pierwszą naszą opcją jest Remote debugging dostępny w VisualStudio. Wraz z zainstalowanym VS instalują nam się komponenty, które możemy wykorz...
Profilowanie aplikacji przy użyciu dotTrace Przyznam się, że nie miałem w planach poruszania tematu profilowania aplikacji jeszcze przez jakiś czas. Rozpoczęcie masowego importu danych ze strony sejmu do projektu Rankingu Sejmowego zmusiło mnie do zmiany planów. Po przerobieniu przez kilka godzin około 30% danych z ostatniej kadencji Sejmu (około 20 tysięcy plików HTML ważących razem 120 MB) zacząłem zastanawiać się czy dałoby się ten proces trochę przyspieszyć. Do badania wydajności kodu posłużyły mi d...
Nie jestem jedyny, który ma problemy z wydajnością VS 2010, w szczególności kiedy karta graficzna w kompie na którym odpalany jest VS 2010 do mocnych nie należy. Na szczęście istnieje jedna mała ukryta opcja w ustawieniach VS 2010, która powinna pomóc wam z problemami wydajnościowymi – mi na Windows XP 32bit pomogła.
Paint.NET jest aplikacją, której chyba nikomu nie trzeba przedstawiać. Sam również bardzo często korzystam z tego programu. Brakowało mi w nim jednak wsparcia dla plików Photoshopa (psd). Czasami potrzebuję „wyłączyć” jakąś warstwę i zapi...
W ramach przygotowania do dalszej pracy podjąłem zamiar zwiększenia jakości tworzonego kodu. Narzędzi zwiększających produktywność programisty jest oczywiście wiele. Osobom znającym już jednak podstawy, na początek, polecam zapoznanie się z programem FxCop. Jest to darmowe narzędzie od Microsoftu służące do przeprowadzania statycznej analizy kodu (oczywiście osoby dysponujące wersjami Visual Studio innymi niż Express nie...
Dziś kolejne, mam nadzieję, ciekawe zastosowanie warunkowego breakpointu. Zanim jednak przejdziemy do omawiania nakreślmy naszą sytuację wyjściową. Załóżmy, że mamy kawałek kodu aplikacji, który jest dość często wykorzystywany z różnych miejsc. privatevoid Calculate(paramsint[] coefficients) { //do sth with coeffs Array.ForEach(coefficients, Console.WriteLine); } To co on robi nie jest ważne. Istotne jest, że chcielibyśmy postawić w niej breakpoint’a i zobaczyć jak się zachowuje w pewnych syt...
RE: Theme Visual Studio15 grudnia 2010Łukasz Gąsior Otrzymałem dzisiaj od „Konrada” maila z takim pytaniem: „jakiego schematu (kolorów)/ustawień visual studio używasz ?” Postanowiłem podzielić się odpowiedzią publicznie – może ktoś jeszcze skorzysta Aktualnie korzystam ze schematu gr...
Całkiem niedawno pojawiła się nowa wersja NHibernate oznaczona numerem 3. Informacje co, gdzie i jak uległo zmianie można oczywiście znaleźć na głównej stronie projektu. Mi z tych wszystkich nowości najbardziej przypadło do gustu nowe API do wykonywania zapytań czyli QueryOver. Ale zacznijmy od początku. Wykonując zapytanie do bazy danych z poziomu NHibernate 2 mieliśmy do dyspozycji 4 możliwości: wywołanie metod Get/Loadzapytanie HQLużycie Criteria APIzapytania SQL Każda z nich ma swoje unikalne za...
Wszyscy wiemy, iż opanowanie operowania VisualStudio z klawiatury to podstawa do szybkiej i wydajnej pracy. Nikt nie będzie nawigował po pozycjach w menu aby dodać plik jeśli może znacznie szybciej zrobić to używając skrótu CTRL+SHIFT+A. Dziś zobaczymy jak możemy wejść na jeszcze wyższy poziom wtajemniczenia. Zapewne wszyscy znają już ukryte funkcje FindBox’a (jeśli nie – zapoznaj się z wpisem – Ukryte możliwości FindBox’a). Dziś zobaczymy jeszcze bardziej ukryte jego możliwości. Zanim jeszcze zaczniemy ...
Na samym początku postawiłem sobie cel związany z przerobieniem całego ebooka dotyczącego PRISM 4. Nie ma co owijać w bawełnę- sprawa zero jedynkowa – cel nie został osiągnięty, choć jest to i tak o wiele więcej niż jakbym nie miał przed sobą wyzwania. Do końca listopada udało mi się przeczytać 8 rozdziałów z 11, przy czym na podstawie pierwszych sześciu powstały 4 części dotyczące PRISM 4. Również rzeczy opisane w opublikowanych przeze mnie postach są zaimplementowane w moim codeplex’owy...
Od pewnego czasu siedzę nad wewnętrznym projektem dla Softio. Na potrzeby klienta, a także własne muszę napisać system CMS posiadający elementy e-Commerce. Zależy mi na prostocie, ale także to co jest ważne to to, że będzie to aplikacja ASP.NET MVC. Oznacza to, że tworzenie szablonów dla stron to nic innego jak kolejny View. Wygląd także ma znaczenie :)
Poprzednim razem opisałem w jaki sposób wygenerować wykres za pomocą MSChart oraz w jaki sposób umiejętnie buforować wygenerowany obrazek w celu uniknięcia jego ciągłego pobierania przy każdym wejściu na stronę. Teraz dodamy do tego generowanie aktywnej mapy i wyświetlenie jej na stronie. Dzięki temu będziemy mogli dodać do wykresu nieco życia. Po pierwsze możemy wykorzystać do tego standardowe dymki, które pokazuje przeglądarka kiedy zdefiniujemy tag title, czy dodać link do wybranych wartości (np.: w w...
Zapewne wszyscy zdają sobie sprawę, że nasz breakpoint możemy uczynić warunkowym tak aby VS zatrzymało się na nim tylko w specyficznej sytuacji a nie za każdym razem. Gdy breakpoint jest warunkowy jego ikona posiada mały biały plusik tak jak na obrazku w tym paragrafie abyśmy mogli odróżnić go od innych. Dziś pokażemy sobie, że warunkowy breakpoint może być użyty także do innych, mniej oczywistych (mam nadzieję) celów. Załóżmy, że jesteśmy w trakcie debuggowania dość skomplikowanego kodu (ten poniżej tak...
IntelliTrace jest doskonałym narzędziem ułatwiającym debuggowanie przez tzw. “time travel”. Umożliwia to podczas debuggowania np. cofnięcie się do poprzedniej linii lub prześledzenie nagranej wcześniej sesji (w przypadku np. awarii systemu). W tym poście jednak nie będziemy zajmować się obsługą tego narzędzia a scenariuszem w którym mamy zainstalowany program na innym komputerze, na którym nie jest dostępny Visual Studio. Przede wszystkim na dany komputer należy skopiować następujące pliki (wymagane prz...
Ostatnio odkryłem na nowo funkcjonalność definiowania własnym szablonów kodu. Funkcjonalność ta jest bardzo często nie wykorzystywana przez programistów, ale potrafi zdziałać cuda. W pisaniu aplikacji biznesowej zawsze przychodzi taki moment, że trzeba napisać kod służący do zapisywania danych do bazy, jak równię ich odczytywania.
Tworząc oprogramowanie bardzo trudno ustrzec się przed stworzeniem aplikacji niezgodnej z zasadami sztuki. Przez zasady sztuki rozumiem tutaj tworzenie zbyt długich funkcji, tworzenie bardzo zagmatwanego kodu (np. składającego się z kilkunastu if-ów jeden w drugim) czy niekomentowanie metod i funkcji. Nie pilnując jakości kodu możemy bardzo łatwo doprowadzić do sytuacji, w której utrzymanie kodu będzie co najmniej bardzo pracochłonne. Dlatego wiele większych firm wprowadza zasady tworzenia kodu. Co takie...
Marcin Wolański's blog: Kiedy VisualSVN Server zainstalowałem tak, jak chciałem, zachciało mi się systemu do zarządzania błędami. Padło na Trac. Do instalacji postanowiłem wykorzystać Apache VisualSVN Servera. Wiem, że mógłbym wziąć sobie paczkę z Trac dla VisualSVN Server, ale nie zrobiłem tego, bo po pierwsze, nie zawiera najnowszej, stabilnej wersji Trac, a po drugie – niezależna instalacja Trac uprości aktualizację narzędzi w przyszłości.Przygotowanie środowiska Zainstalowałem po kolei używając defau...