Professional Documents
Culture Documents
Spis treci
Przykadowy rozdzia
Skorowidz
Katalog ksiek
Katalog online
Zamw drukowany
katalog
Twj koszyk
Dodaj do koszyka
Cennik i informacje
Zamw informacje
o nowociach
Zamw cennik
Czytelnia
Fragmenty ksiek
online
Kontakt
Helion SA
ul. Kociuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
Helion 19912011
Poznaj rodowisko Visual Studio 2010 Professional i naucz si tworzy mistrzowskie aplikacje
Jak wykorzysta technologi ASP.NET do tworzenia profesjonalnych witryn internetowych?
Jak tworzy aplikacje biznesowe oparte na pakiecie Office?
Jak kompleksowo testowa swj kod, zaprzgajc do pracy Visual Studio?
Visual Studio 2010 to najnowsza wersja rodowiska programistycznego firmy Microsoft. Kady
programista, ktry zdecyduje si wykorzysta bogaty zestaw zgromadzonych tu narzdzi, osignie
maksymaln produktywno w pracy i bdzie mg tworzy kod dziaajcy w systemie Windows
oraz w sieci. Dodatkowo bdzie mie do dyspozycji technologi Silverlight i moliwo budowania
aplikacji w chmurze, z uyciem platformy Microsoftu Azure. Nie koniec na tym. W Visual Studio
2010 pojawiy si kolejne innowacje. Znajdziesz tu nowy edytor kodu, oparty na platformie WPF,
rozszerzenia rodowiska IDE zwizane z platform MEF oraz moliwo pisania skryptw za pomoc
technologii Silverlight. Ponadto jzyki platformy .NET wzbogacono o obsug programowania
dynamicznego. Pojawi si nowy jzyk F#, sucy do programowania funkcyjnego, oraz
mechanizmy usprawniajce szybkie pisanie kodu wyszej jakoci.
Microsoft Visual Studio 2010. Ksiga eksperta zawiera kompletne omwienie rodowiska Visual
Studio 2010, a skoncentrowanie si na wersji Professional pozwolio autorom na stworzenie opisu
bardziej szczegowego ni kiedykolwiek wczeniej. Dziki temu podrcznikowi nauczysz si
w peni wykorzystywa moliwoci platformy .NET, w tym technologii WPF (pozwalajcej na
tworzenie bogatych klientw), technologii WCF (stworzonej do budowania dynamicznych rozwiza
opartych na usugach) czy te technologii WF (umoliwiajcej rozwijanie ustrukturyzowanych
programw na podstawie procesw biznesowych). Znajdziesz tu take omwienie nowych
narzdzi Microsoftu, przeznaczonych do testowania, instrumentacji aplikacji i analizowania kodu.
Jzyki platformy .NET
Przegldarki i eksploratory
Tworzenie projektw WPF
Szablony XML
Testowanie, refaktoryzacja i diagnozowanie kodu
Platforma MEF
Tworzenie aplikacji ASP.NET
Bogate i inteligentne interfejsy uytkownika
Zoone aplikacje internetowe
Silverlight 4.0
Aplikacje biznesowe oparte na pakiecie Office
Technologia Windows Azure i aplikacje dziaajce w chmurze
Wykorzystaj zdobyt wiedz i zosta mistrzem programowania!
Spis treci
Spis treci
O autorach ................................................................................................. 21
Wprowadzenie .......................................................................................... 23
Dla kogo przeznaczona jest ta ksika? ................................................................................ 23
Koncentracja na wersji Visual Studio Professional ............................................................ 24
Materiay do pobrania ............................................................................................................. 25
Jak zorganizowana jest ksika? ............................................................................................. 25
Cz I: Wprowadzenie do Visual Studio 2010 ............................................................... 25
Cz II: Szczegowe omwienie rodowiska IDE ......................................................... 25
Cz III: Tworzenie kodu i zarzdzanie nim .................................................................. 25
Cz IV: Wzbogacanie rodowiska Visual Studio ......................................................... 26
Cz V: Tworzenie aplikacji dla przedsibiorstw ........................................................... 26
Konwencje uywane w ksice ............................................................................................... 26
Cz I
Rozdzia 1.
Spis treci
Rozdzia 2.
Rozdzia 3.
Spis treci
Cz II
Rozdzia 4.
Rozdzia 5.
Spis treci
Rozdzia 6.
Rozdzia 7.
10
Spis treci
Rozdzia 9.
11
Spis treci
Rozdzia 10.
Rozdzia 11.
12
Spis treci
Rozdzia 12.
13
Spis treci
Rozdzia 14.
Rozdzia 15.
Rozdzia 16.
14
Spis treci
Cz V
Rozdzia 17.
Rozdzia 18.
15
Spis treci
Rozdzia 19.
Rozdzia 20.
16
Spis treci
Rozdzia 21.
Rozdzia 22.
17
Spis treci
Rozdzia 23.
Rozdzia 24.
18
Spis treci
Rozdzia 25.
19
Rozdzia 9.
Testowanie kodu
W tym rozdziale:
x Podstawy testw jednostek
x Platforma testw jednostek
x Pisanie testw jednostek dziaajcych w ASP.NET
x Konfigurowanie atrybutw testw jednostek
x Tworzenie testw uporzdkowanych
x Organizowanie testw
398
Rysunek 9.1. W oknie dialogowym New Project mona utworzy nowy projekt testw dla rozwizania
399
Projekt testw
W czasie tworzenia nowego projektu testw Visual Studio dodaje referencje do platformy testw
jednostek (Microsoft.VisualStudio.QualityTools.UnitTestFramework). Ponadto dodaje
do rozwizania dwa pliki (w katalogu Solution Items). S to pliki z konfiguracj (ustawieniami)
testw. Ich nazwy to Local.testsettings i TraceAndTestImpact.testsettings. W projekcie testw
tworzona jest te klasa testw uywana do pisania testw jednostek. Na rysunku 9.2 pokazano
kady z tych elementw w oknie Solution Explorer. Poszczeglne pliki omawiamy szczegowo
w dalszych punktach.
Rysunek 9.2.
Projekt testw
i powizane elementy
w oknie Solution
Explorer
400
Do projektu mona doda nowe pliki testw. W tym celu naley klikn prawym przyciskiem
myszy projekt testw i wybra opcj Add/New Test. Ponadto mona uy menu Project i otworzy okno dialogowe Add New Test widoczne na rysunku 9.3. W tym miejscu dostpne s
nastpujce opcje:
x Basic Unit Test. Ten szablon tworzy prost klas testw z pust metod testow. Uywa
si go zwykle przy tworzeniu testw od podstaw (bez korzystania z funkcji automatycznego generowania testw).
x Database Unit Test. Ten szablon suy do tworzenia testw jednostek wykonywa-
nych na procedurach skadowanych z bazy danych (do stosowania tej funkcji potrzebna jest wersja Premium rodowiska Visual Studio).
x Ordered Test. Ten szablon umoliwia utworzenie sekwencyjnej listy wsplnie wyko-
nywanych testw (zobacz podrozdzia Tworzenie testw uporzdkowanych w dalszej czci rozdziau).
x Unit Test. Ten szablon tworzy pust klas testw jednostek korzystajc z obiektu do
ledzenia kontekstu testw. Tego typu klasy testw jednostek s generowane automatycznie (zobacz punkt Generowanie testw na podstawie istniejcego kodu).
x Unit Test Wizard. Ten szablon uruchamia kreator Unit Test Wizard sucy do au-
tomatycznego generowania testw na podstawie istniejcego kodu rozwizania (zobacz punkt Generowanie testw na podstawie istniejcego kodu).
Rysunek 9.3.
Za pomoc okna
dialogowego Add New Test
mona dodawa nowe testy
do projektu testw
Menu Test
Menu Test mona wykorzysta do uzyskania dostpu do wszystkich funkcji rodowiska Visual
Studio zwizanych z testami przeprowadzanymi przez programistw. Menu pozwala midzy innymi dodawa klasy testw jednostek do projektu testw (Test/New Test). Mona go ponadto
401
uywa do wczytywania informacji o wczeniejszych testach (Load Metadata File), uruchamiania testw (z diagnozowaniem lub bez), wybierania ustawie stosowanych w nastpnym
przebiegu testw, a take edytowania takich ustawie. Mona te uzyska dostp do wielu
okien sucych do wywietlania i organizowania testw w aplikacji. Na rysunku 9.4 pokazano
przykad ilustrujcy wiele funkcji omawianego menu.
Rysunek 9.4. Menu Test rodowiska Visual Studio pozwala uzyska dostp do funkcji rodowiska zwizanych
z testami przeprowadzanymi przez programistw
402
Wygenerowany kod to dobry punkt wyjcia do rozwijania testw jednostek. Visual Studio
analizuje metody i waciwoci klasy, na podstawie ktrej programista chce wygenerowa testy,
oraz tworzy prawdziwe, moliwe do uruchomienia testy. Oczywicie, trzeba dokoczy kady
test przez dodanie odpowiednich wartoci zmiennych i asercji, jednak kod wygenerowany
przez narzdzia to dobry punkt wyjcia.
Przyjrzyjmy si przykadowi. Zamy, e programista uywa obiektu Customer zawierajcego
standardowe waciwoci, takie jak Name, Address, Phone i Email. Moe take zawiera inne
metody, takie jak Save, Update czy Delete. rodowiska Visual Studio mona uy do wygenerowania nowych testw jednostek dla klasy. W tym celu naley albo wybra opcj Unit Test
Wizard w oknie dialogowym Add New Test, albo klikn prawym przyciskiem myszy plik
klasy i wybra opcj Create Unit Tests.
W obu scenariuszach Visual Studio wywietli okno dialogowe Create Unit Tests przedstawione na rysunku 9.5. Widoczne s w nim typy dostpne w rozwizaniu. W powyszym oknie
dialogowym mona wybra skadowe, dla ktrych trzeba wygenerowa testy. Mona te uy
ustawienia Output project do okrelenia projektu testw, w ktrym maj znale si wygenerowane testy. Polega to na utworzeniu nowego projektu testw (w jzyku C# lub Visual Basic)
albo na umieszczeniu kodu w istniejcym projekcie testw.
Rysunek 9.5.
Mona zezwoli rodowisku
Visual Studio na
wygenerowanie testw
jednostek na podstawie
istniejcego kodu
Przycisk Add Assembly w dolnej czci okna dialogowego umoliwia wybranie podzespou
(pliku .dll) spoza projektu. Testy mona wygenerowa dla dowolnego podzespou .NET.
403
Warto zwrci uwag na dodatkowe ustawienia w grupie General. Umoliwiaj one ustawienie
kadego generowanego testu jako niejednoznacznego, umieszczenie komentarzy w wygenerowanym kodzie i tak dalej.
Uwaga
Kreator Create Unit Tests umoliwia wygenerowanie testw jednostek dla wszystkich projektw w rozwizaniu. Zaznaczenie klasy i wygenerowanie testw powoduje dodanie w projekcie testw
referencji do projektu z testowanym kodem.
404
czy waciwo zostaa poprawnie ustawiona. Jest to prawidowy test waciwoci. Programista musi jedynie poda poprawn warto dla zmiennej exptected (punkt TODO) i usun
wywoanie Assert.Inconclusive.
Listing 9.1. Przykadowy automatycznie wygenerowany test jednostek
[TestMethod()]
public void NameTest() {
Customer target = new Customer(); // TODO: Initialize to an appropriate value
string expected = string.Empty; // TODO: Initialize to an appropriate value
string actual;
target.Name = expected;
actual = target.Name;
Assert.AreEqual(expected, actual);
Assert.Inconclusive("Verify the correctness of this test method.");
}
Testowanie metod jest troch bardziej pracochonne. Jeli metoda zwraca warto, trzeba j
sprawdzi, aby si upewni, e jest zgodna z oczekiwaniami. Jeeli metoda nie zwraca wartoci,
trzeba napisa dodatkowy kod do sprawdzenia, czy dziaa prawidowo. Na listingu 9.2 pokazano automatycznie wygenerowany test metody, ktra nie zwraca wartoci. Oczywicie, jeli
wywoanie metody spowoduje bd, test zakoczy si niepowodzeniem. Mona jednak napisa
dodatkowe testy i asercje.
Listing 9.2. Przykadowy automatycznie wygenerowany test jednostki
[TestMethod()]
public void SaveTest() {
Customer target = new Customer(); // TODO: Initialize to an appropriate value
target.Save();
Assert.Inconclusive("A method that does not return a value cannot be
verified.");
}
Uwaga
W czasie generowania kodu do testowania konstruktorw Visual
Studio dodaje tekst ConstructorTest do nazwy klasy. Jeli istnieje kilka konstruktorw, Visual Studio doda do nazw liczby, na
przykad CustomerConstructorTest1.
nie po wykonaniu kodu aplikacji. Test moe powie si lub nie w zalenoci od wynikw tych
zaoe. Jeli programista oczekuje, e warunek bdzie speniony, a tak si nie stanie, wtedy test
koczy si niepowodzeniem.
Kiedy projekt i klasa testu s ju gotowe, trzeba wykona trzy operacje, aby utworzy typowy
test jednostki:
1. Doda atrybut TestMethod do kodu testu.
2. Uruchomi badany kod, przekazujc znane wartoci w taki sposb, jak parametry.
3. Zastosowa asercje do oceny wynikw testw.
Przyjrzyjmy si bliej praktycznemu przykadowi. Zamy, e programista korzysta z usugi
sieciowej zwracajcej profil uytkownika z bazy danych. Ta usuga sieciowa przyjmuje jako
parametr identyfikator klienta. Sygnatura funkcji moe wyglda tak:
public Customer GetCustomerProfile(int customerId)
Mona napisa prosty test wywoujcy t usug i przekazujcy znany identyfikator z bazy danych.
Dobrym sposobem na testy jednostek baz danych jest sprawdzanie znanego stanu bazy. W tecie
mona nastpnie sprawdzi nie tylko to, czy zwracane dane dziaaj, ale take czy s poprawne.
Na listingu 9.3 znajduje si przykadowy test.
Listing 9.3. Przykadowy test jednostek
[TestMethod()]
public void GetCustomerProfileTest() {
CustomerProfile cutProfileService = new CustomerProfile();
int customerId = 1234;
Customer customer = cutProfileService.GetCustomerProfile(customerId);
Assert.AreEqual(customer.Id, 1234);
}
Warto zauway, e powyszy kod jest podobny do dowolnego kodu w jzyku C# (i Visual
Basic). Aby oznaczy metod jako test, naley doda atrybut TestMethod. W kodzie trzeba
utworzy egzemplarz testowanego obiektu i wywoa sprawdzan metod. Jeli wywoanie si
nie powiedzie (lub zostanie zgoszony wyjtek), test zakoczy si niepowodzeniem. Nastpnie
w tecie znajduje si asercja, ktra pozwala sprawdzi, czy zwrcony obiekt odpowiada oczekiwanemu. Jeli ta asercja okae si faszywa (przekazane do niej wartoci nie s sobie rwne), test
zakoczy si niepowodzeniem. Jeli asercja bdzie prawdziwa, test si powiedzie. Mona doda
kilka innych asercji, aby uzupeni powyszy test (przez sprawdzenie innych znanych danych na
temat klienta). Ponadto mona utworzy pewne dodatkowe testy sprawdzanej metody, na
przykad okrelajce, co si stanie przy prbie pobrania danych nieistniejcego klienta.
Powyszy kod powinien pozwoli zrozumie podstawy dziaania testw jednostek. W dalszej
czci rozdziau zajmiemy si nimi nieco bardziej szczegowo.
406
Testy mona uruchamia z debugerem lub bez. Pierwsza z tych opcji umoliwia wczenie
debugera, jeli test zakoczy si niepowodzeniem. Ta waciwo jest przydatna do uywania
testw do rozwizywania problemw z kodem. Czciej stosuje si jednak drugie rozwizanie, ktre pozwala po prostu uruchomi zestaw testw jednostek i sprawdzi wyniki. Testy
mona uruchamia wtedy w biecym kontekcie lub w kontekcie caego rozwizania. Biecy
kontekst pozwala uruchomi dowolne wybrane teksty, przeprowadzi testy od lokalizacji kursora lub wczy wszystkie testy danej klasy (jeeli wywietlany jest kod klasy, a nie testu).
Czasem trudno okreli, co jest biecym kontekstem dla rodowiska Visual Studio. Wtedy
mona albo uruchomi wszystkie testy z rozwizania, albo przeprowadzi testy z poziomu
okna Test View (zobacz podrozdzia Organizowanie testw).
Uwaga
Przy uruchamianiu projektu testw wszystkie projekty, do ktrych
dodano referencje, s rekompilowane razem z projektem testw.
407
Rysunek 9.8. Okno Test Results umoliwia wywietlenie wynikw przebiegw testw i ponowne uruchomienie
wybranych testw
zwrci uwag na to, e dany przebieg testu koczy si niepowodzeniem, jeli nie powiedzie si
przynajmniej jeden test. W tym przypadku powiodo si 16 z 18 testw. Jednak niepowodzenie
dwch testw spowodowao, e cay test zakoczy si porak.
Okno Test Results udostpnia pasek narzdzi z wieloma opcjami i kontrolkami. Jedna z opcji
umoliwia wywietlenie wynikw wszystkich testw przeprowadzonych w czasie sesji rodowiska Visual Studio. Pozwala to na wywietlenie jednoczenie wynikw wszystkich testw. Inna
opcja umoliwia atwe ponowne uruchomienie testw z danego przebiegu. Jeszcze inna suy
do eksportowania wynikw do pliku i udostpniania danych innym osobom (ktre mog
zaimportowa je za pomoc tego samego paska narzdzi). Mona te doda nowe kolumny do
wynikw testu, aby wywietli wicej danych i lepiej je uporzdkowa (dostpnych jest ponad
20 kolumn).
Dwukrotne kliknicie testu zakoczonego powodzeniem powoduje wywietlenie szczegowych
informacji na jego temat. Strona ze szczegami obejmuje nazw testu, wyniki, czas trwania
testu, a take godzin jego rozpoczcia i zakoczenia. Po dwukrotnym klikniciu testu zakoczonego niepowodzeniem programista zobaczy wiersz kodu sprawdzanej klasy, w ktrym
wystpi bd. Aby zobaczy szczegowe informacje o takim tecie, naley klikn go na licie
wynikw prawym przyciskiem myszy i wybra opcj View Test Results Details. Na rysunku 9.9
przedstawiono stron ze szczegowymi danymi na temat nieudanego testu. Warto zauway,
e obejmuj one komunikat o bdzie, lad stosu i odnonik do kodu, ktry spowodowa bd.
408
Rysunek 9.9. Mona wywietli szczegowe informacje o wynikach dowolnego testu (udanego lub nieudanego)
409
Rysunek 9.10. Okno dialogowe Test Runs umoliwia wywietlenie wynikw wszystkich przebiegw testw
z biecej sesji rodowiska Visual Studio
410
Opcje w wle Test Project pozwalaj te okreli, ktre pliki naley domylnie umieci w projekcie
testw w czasie jego tworzenia. To, jakie opcje s dostpne, zaley od jzyka. Mona okreli
pliki podstawowych testw jednostek, testw jednostek baz danych, testw uporzdkowanych
lub testw jednostek (uruchamiany jest wtedy kreator Unit Test Wizard).
Rysunek 9.13. Za pomoc menu Test mona wybra aktywny plik z ustawieniami testw
Rysunek 9.14. Okno dialogowe Test Settings umoliwia zarzdzanie ustawieniami zwizanymi z przeprowadzaniem
testw (w tym limitem czasu)
412
Zaznaczenie wza po lewej stronie okna dialogowego Test Settings pozwala skonfigurowa
rne ustawienia. Poniej znajduje si przegld opcji, ktrymi mona zarzdza w kadym
wle okna Test Settings:
x General. Zawiera opcje do okrelania nazwy pliku ustawie, udostpniania opisu, ge-
nerowania nazw dla poszczeglnych przebiegw testw (na rysunku 9.10 pokazano
nazwy takich przebiegw).
x Deployment. Umoliwia okrelenie dodatkowych plikw i katalogw instalowanych
w ramach przeprowadzania testw. Domylnie testowane podzespoy s automatycznie instalowane w katalogu bin testu. Pozwala to przed przeprowadzeniem testw
zainstalowa nowe elementy (na przykad bazy danych oparte na plikach).
x Setup and Cleanup Scripts. Umoliwia okrelenie skryptu uruchamianego przed
jest to host domylny (rodowisko Visual Studio). Ponadto mona ustawi testy tak,
aby dziaay na serwerze rodowiska ASP.NET.
x Test Timeouts. Umoliwia okrelenie czasu oczekiwania rodowiska Visual Studio
(lub innego hosta) przed porzuceniem dugo dziaajcych testw. Ponadto mona
oznaczy zbyt dugo trwajce testy jako nieudane. Na rysunku 9.12 przedstawiono
przykadowe ustawienia w tym oknie dialogowym.
x Unit Test. Udostpnia zaawansowane opcje wczytywania dodatkowych podzespow
Klasa TestContext
Platforma testw jednostek obejmuje klas suc do przechowywania informacji zwizanych
z wykonywaniem testw. Jest to klasa TestContext. Waciwoci tej klasy su do pobierania
danych o dziaajcych testach. Informacje obejmuj: ciek do katalogu z testem, adres URL
uruchamianego testu (jeli s to testy jednostek ASP.NET) i informacje o wizaniu danych (na
413
przykad poczenie z danymi lub obecny wiersz danych w wykonywanym tecie). Wiadomoci na temat kontekstu testu s przechowywane we waciwociach omawianej klasy. Kluczowe
waciwoci i ich zastosowania opisano w tabeli 9.1.
Tabela 9.1. Kluczowe waciwoci klasy TestContext
Waciwo
Opis
CurrentTestOutcome
DataConnection
DataRow
RequestedPage
TestDeploymentDir
TestLogsDir
TestName
Klasa TestContext domylnie jest niedostpna w kodzie. Aby uzyska do niej dostp, najpierw trzeba zdefiniowa waciwo o tej samej nazwie i typie w klasie testu (potrzebna waciwo jest automatycznie tworzona w czasie generowania testw jednostek na podstawie
istniejcego kodu). Platforma testw jednostek w momencie uruchamiania testw automatycznie tworzy egzemplarz klasy TestContext, a nastpnie sprawdza, czy w kodzie rdowym znajduje si waciwo o tej nazwie. Jeli j znajdzie, przypisuje egzemplarz klasy TestContext do
waciwoci. Od tego momentu mona korzysta z waciwoci do pobierania informacji o kontekcie przeprowadzanego testu. Poniszy kod pokazuje, jak zdefiniowa waciwo TestContext
w tecie jednostek w jzyku C#:
public TestContext TestContext { get; set; }
rodowisko Visual Studio w czasie tworzenia obiektu typu TestContext generuje kompletn
waciwo. Poniej pokazano kod waciwoci wygenerowany przez Visual Studio:
private TestContext testContextInstance;
public TestContext TestContext {
get {
return testContextInstance;
}
set {
testContextInstance = value;
}
}
414
Uwaga
Niektre klasy atrybutw wymagaj zdefiniowania parametru typu
TestContext dla metod opatrzonych danym atrybutem. Dotyczy
to na przykad atrybutu ClassInitialize (zobacz dalej). W takim
scenariuszu platforma testw jednostek automatycznie przekazuje
egzemplarz klasy TestContext do metody w momencie jej uruchamiania.
Test
Opis
AssemblyCleanup
AssemblyInitialize
ClassCleanup
Suy do okrelania metody, ktr naley uruchomi jeden raz po wykonaniu wszystkich
testw z danej klasy testw. Jest to przydatne, jeli trzeba zresetowa stan systemu
(na przykad w bazie danych) po zakoczeniu testw.
ClassInitialize
Suy do okrelania metody, ktr host powinien uruchomi jeden raz przed uruchomieniem
testw z danej klasy testw. Jest to przydatne, jeli trzeba zresetowa baz danych lub
wykona kod przygotowujcy rodowisko testowe.
Metoda musi przyjmowa parametr typu TestContext.
DataSource
415
Tabela 9.2. Klasy atrybutw testw dostpne w Visual Studio cig dalszy
Test
Opis
DeploymentItem
Suy do okrelania dodatkowych plikw (.dll, .txt i innych), ktre trzeba zainstalowa
w katalogu, gdzie przeprowadzane s testy.
ExpectedException
HostType
Ignore
TestClass
Suy do okrelania, e dana klasa jest klas testw zawierajc jeden lub kilka testw
jednostek (metod testowych).
TestCleanup
TestInitialize
TestProperty
TestMethod
Suy do oznaczania metod w klasie testw jako testw jednostek. Metody testowe nie
mog zwraca wartoci (zwracaj typ void). Powodzenie lub niepowodzenie zaley od
warunkw bdw oraz asercji. Metody testowe nie mog przyjmowa parametrw,
poniewa host nie potrafi przekazywa parametrw do metod. Istniej jednak sposoby
na zasymulowanie przekazywania parametrw. Wicej informacji na ten temat zawiera
punkt Tworzenie testw jednostek zalenych od danych.
Timeout
Suy do okrelania limitu czasu (w milisekundach) dla danej metody testowej. Jeli test
bdzie trwa duej, rodowisko zatrzyma go i uzna za zakoczony niepowodzeniem.
416
W tabeli 9.2 pokazano, e istnieje wiele klas atrybutw. Zapewniaj one kontrol nad testami
jednostek. Jeli programista pisze klas testw dla obiektu Customer, moe zdefiniowa klas
CustomerTest. Na listingu 9.4 pokazano szkielet kilku testw z tej klasy. Zademonstrowano
te liczne atrybuty stosowane w typowych klasach testw. Warto zwrci uwag na metody do
inicjowania klasy testw i porzdkowania zasobw po przeprowadzeniu testu.
Listing 9.4. Przykadowa klasa testw
using
using
using
using
using
System;
BusinessDomain;
Microsoft.VisualStudio.TestTools.UnitTesting;
System.Data;
System.Collections.Generic;
namespace BusinessDomainUnitTests {
[TestClass()]
public class CustomerTest {
public TestContext TestContext { get; set; }
[ClassInitialize()]
public static void InitTests(TestContext testContext) {
// Wywoanie kodu resetujcego testow baz danych (Utilities.ResetTestDb();).
}
[ClassCleanup()]
public static void CleanupPostTests() {
// Wywoanie kodu resetujcego testow baz danych (Utilities.ResetTestDb();).
}
[TestMethod()]
public void CustomerConstructorTest() {
// Testuje konstruktor domylny.
}
[TestMethod()]
public void CustomerConstructorTest1() {
// Testuje konstruktor przyjmujcy identyfikator klienta.
}
[TestMethod()]
[DeploymentItem("BusinessDomain.dll")]
public void DeleteTest() {
}
[TestMethod()]
[DeploymentItem("BusinessDomain.dll")]
417
Nastpny krok polega na napisaniu kodu w kadej metodzie testowej. Kod powinien kierowa
wywoania do obiektu Customer i sprawdza asercje zwizane z wynikami wywoa. Do tworzenia asercji suy opisana dalej klasa Assert.
obiekt TestContext przekazywany przez platform testw jednostek. Dobr praktyk jest
ponowne resetowanie systemu po wykonaniu testw jednostek. W poniszym kodzie pokazano
dwie metody testw. Metody przygotowuj testy i porzdkuj po nich.
[ClassInitialize()]
public static void InitTests(TestContext testContext) {
Utilities.ResetTestDb();
}
[ClassCleanup()]
public static void CleanupPostTests() {
Utilities.ResetTestDb();
}
419
Klasy asercji
Przestrze nazw UnitTesting zawiera take typ statyczny Assert. Ten typ udostpnia liczne
metody umoliwiajce sprawdzenie, czy wynik testw jest zgodny z oczekiwaniami. Naley
wywoa statyczne metody i sprawdzi warto warunku (true lub false). Jeli warunek
logiczny nie jest speniony, dziaanie asercji koczy si niepowodzeniem. Same asercje nie
zwracaj wynikw. Zamiast tego w czasie wykonywania programu automatycznie powiadamiaj platform testw jednostek o sukcesie lub niepowodzeniu.
Mona na przykad napisa test jednostki wczytujcy znany rekord z bazy danych. Nastpnie
mona doda asercj dotyczc tego rekordu, aby udowodni, e program potrafi pobra dane
z bazy, prawidowo wywoa odpowiednie zbiory danych i dotrze do konkretnego obiektu.
Poniej pokazano prost asercj do sprawdzania, czy dwie zmienne maj t sam warto. Jeli
wartoci s sobie rwne (AreEqual), dziaanie asercji koczy si powodzeniem. Jeeli wartoci s
rne, asercja zgasza niepowodzenie, a platforma testw jednostek oznacza test jako nieudany.
Assert.AreEqual(cust.Id, customerId);
AreEqual to tylko jedna z wielu metod asercji dostpnych w klasie Assert. Wikszo metod
asercji dotyczy jednego zagadnienia porwnywania dwch wartoci. W tabeli 9.3 przedstawiono bardziej kompletn list metod.
Tabela 9.3. Asercje testw
Test
Opis
AreEqual i AreNotEqual
AreSame i AreNotSame
Pozwala sprawdzi, czy dwa obiekty s tym samym obiektem, czy nie.
Fail
Inconclusive
IsInstanceOfType
i IsNotInstanceOfType
IsNull i IsNotNull
IsTrue i IsFalse
Kada metoda asercji ma kilka przecionych wersji. Umoliwiaj one porwnywanie rnych
typw danych acuchw znakw, liczb, obiektw i kolekcji oglnych. Ponadto dostpne s
wersje, ktre pozwalaj po prostu zastosowa asercj lub dodatkowo wywietli komunikat w sytuacji, kiedy asercja nie jest speniona. Na przykad poniej zapisano t sam asercj, co wczeniej,
jednak ta wersja wywietla komunikat o bdzie, jeli warunek nie jest speniony.
Assert.AreEqual(cust.Id, customerId, "Identyfikatory klienta s rne.");
420
Klasa Assert zawiera te wersje metod AreEqual i AreNotEqual dla oglnych typw danych.
Wersje te umoliwiaj sprawdzanie, czy dwa typy oglne s takie same. Programista musi
okreli typ oglny za pomoc standardowej skadni, <T> [lub (of T) w jzyku Visual Basic],
i przekaza dwie porwnywane zmienne. Poniej pokazano przykadowy kod:
Assert.AreEqual<Customer>(cust1, cust2);
421
Testowanie wyjtkw
Testy jednostek naley pisa w taki sposb, aby ustali, czy kod dziaa w oczekiwany sposb
zarwno w korzystnych, jak i niekorzystnych warunkach. Korzystne warunki mona sprawdzi w opisany wczeniej sposb za pomoc metod klasy Assert. Jednak czsto trzeba okreli, czy kod zgasza odpowiedni wyjtek w odpowiedzi na specyficzne wywoanie. Mona wtedy
zastosowa atrybut ExpectedException do przetestowania okrelonych warunkw wystpienia
bdw.
Atrybut ExpectedException naley doda do metody testowej. Atrybut przyjmuje jako parametr typ oczekiwanego wyjtku. Jeli wywoanie metody testowej spowoduje zgoszenie
wyjtku odpowiedniego typu, test zakoczy si powodzeniem. Jeeli wyjtek nie wystpi lub
bdzie mia niewaciwy typ, test zakoczy si niepowodzeniem.
Zamy, e programista chce sprawdzi, co stanie si przy prbie utworzenia nowego klienta
przy uyciu niepenych danych. Moe w tym celu napisa kod zgaszajcy niestandardowy
wyjtek typu InvalidCustomerException i doda do metody testowej nastpujcy atrybut:
[TestMethod()]
[ExpectedException(typeof(InvalidCustomerException),
"Nie zgoszono wyjtku InvalidCustomerException.")]
public void NewCustomerTest() {
// Tworzenie nieprawidowego nowego egzemplarza klasy Customer.
}
Warto zauway, e jeli powyszy kod nie zgosi wyjtku, jako wynik testu przekazany zostanie
komunikat o bdzie ("Nie zgoszono wyjtku InvalidCustomerException."). Komunikat to opcjonalny parametr atrybutu ExpectedException.
Mona czy asercje z atrybutem ExpectedException. Aby metoda testowa w takich warunkach przesza test, asercje musz by spenione, a metoda musi zgosi wyjtek.
Uwaga
Zgoszony wyjtek musi mie dokadnie taki sam typ, jak oczekiwany. Wyjtek nie moe na przykad dziedziczy po oczekiwanym. Wtedy test zakoczy si niepowodzeniem.
422
czenie si z danymi
Do wizania testw jednostek z danymi testowymi suy klasa atrybutu DataSource z platformy testw jednostek. Klasa umoliwia bezporednie podanie acucha poczenia z danymi
testowymi lub okrelenie nazwy acucha poczenia zapisanego w pliku konfiguracji projektu.
Obie techniki pozwalaj nawiza poczenie z baz danych (na przykad SQL Server lub Access),
plikiem .csv (zwykle tworzonym w Notatniku lub Excelu) lub plikiem .xml.
Klasa atrybutu DataSource ma trzy wersje. Pierwsza przyjmuje jeden parametr, dataSource
SettingName. Wymaga to przekazania nazwy ustawie rda danych zdefiniowanych
w pliku konfiguracji. Druga wersja przyjmuje parametry connectionString i tableName.
Naley wtedy przekaza poprawny acuch poczenia ze rdem danych i okreli nazw
tabeli, ktr system ma powiza z testem jednostek. Ostatnia wersja przyjmuje parametry
providerInvariantName, connectionString, tableName i dataAccessMethod. Pierwszy
suy do okrelania typu dostawcy, na przykad dostawcy plikw CSV, bazy SQL Server i tak
dalej. Drugi, acuch poczenia, zaley od wybranego dostawcy i okrela sposb dostpu do
danych. Trzeci parametr to nazwa tabeli (lub pliku) z danymi. Czwarty, metoda dostpu do
danych, okrela sposb powizania danych z testem jednostek sekwencyjny lub swobodny.
Zamy, e programista pisze test jednostek do sprawdzenia informacji o zamwieniach i koncie
klienta. Moe wczyta dane klienta, pobra zoone zamwienia, okreli przyznany kredyt
i sprawdzi obecny stan rachunku. Wszystkie te operacje dla danego klienta mona wykona
w jednym tecie jednostek. Test mona powiza z wierszami danych testowych klienta, aby
sprawdzi poprawno kodu w rnych scenariuszach. Przyjmijmy, e dane testowe znajduj si
w pliku .csv w aplikacji testowej. Wtedy atrybut DataSource mona doda do metody testowej
w nastpujcy sposb:
[TestMethod(),
DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
"|DataDirectory|\\OrderTestData.csv", "OrderTestData#csv",
DataAccessMethod.Sequential),
DeploymentItem("BusinessDomainUnitTests\\OrderTestData.csv")]
public void VerifyCustomerOrders() {
// Kod sprawdzajcy informacje o zamwieniach i koncie klienta.
}
423
Nastpnie naley doda sekcj z acuchem poczenia. Trzeba okreli nazw acucha i poda informacje o poczeniu oraz dostawcy danych. Tekst acucha zaley oczywicie od dostawcy i rodzaju danych. Dla danych przechowywanych w plikach .xlsx, .csv i .xml oraz bazach
Access, Oracle i SQL potrzebne s specyficzne elementy w acuchu poczenia. W poniszym
przykadzie wykorzystano dostawc OleDb do utworzenia acucha poczenia dla pliku .csv:
<connectionStrings>
<add name="OrderTestDataCnn"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=
|DataDirectory|TestData\; Extended Properties='text;HDR=Yes;FMT=Delimited'"
providerName="System.Data.OleDb" />
</connectionStrings>
Ostatni krok polega na utworzeniu sekcji rda danych zagniedonej w sekcji narzdzi testowych.
Naley okreli nazw testowego rda danych i wskaza acuch poczenia. Ponadto mona
poda metod dostpu do danych (dostp sekwencyjny lub swobodny) i nazw tabeli (jeli jest
potrzebna). Ostatecznie plik konfiguracyjny powinien wyglda tak jak na listingu 9.6.
424
Uwaga
Warto zauway, e w jednym pliku konfiguracyjnym mona
zdefiniowa wiele acuchw pocze (kady z nich musi mie
inn nazw).
Nastpnie mona wykorzysta skonfigurowane testowe rdo danych w metodzie testowej. W tym
celu wystarczy poda nazw rda danych w atrybucie DataSource metody testowej. Prowadzi to
do zwikszenia przejrzystoci kodu, uatwia wielokrotne wykorzystanie acuchw pocze
i umoliwia centralne zarzdzanie poczeniem, jeli jest ono inne na poszczeglnych komputerach.
Poniej pokazano, jak wykorzysta rdo danych:
[TestMethod(),
DataSource("OrderTestDataSource"]
public void VerifyCustomerOrders() {
// Kod sprawdzajcy informacje o zamwieniach i koncie klienta.
}
Warto zauway, e w tym przykadzie dane testowe znajduj si w pliku .csv o nazwie OrderTestData.csv. Plik dodano do katalogu TestData w projekcie testw. Katalog i plik s nastpnie
przenoszone do katalogu bin, w ktrym rodowisko uruchamia testy. Dzieje si tak, poniewa
425
acuch poczenia obejmuje fragment |DataDirectory|TestData\. Mona te bezporednio wymusi instalowanie plikw, dodajc atrybut DeploymentItem do metody testowej.
Wskazwka
acuchy pocze dla testw jednostek mona skonfigurowa za
pomoc okna dialogowego Properties. Zobacz na przykad punkt
Konfigurowanie atrybutw testw jednostek w dalszej czci
rozdziau.
426
Rysunek 9.16. Wyniki testw jednostek zalenych od danych wywietlane s pod standardowymi wynikami caego
testu jednostek
Warto zauway, e dla trzech z czterech wierszy testy jednostek zakoczyy si powodzeniem.
Mona zobaczy komunikat o bdzie (z asercji) dla wiersza, ktry spowodowa bd. Dwukrotnie kliknicie tego wiersza spowoduje wywietlenie szczegowych informacji o niepowodzeniu, w tym ladu stosu bdw i odnonika do wiersza kodu, gdzie wystpi problem.
427
Ponadto w aplikacji z testem jednostek naley doda referencj do witryny. Umoliwi to dostp do stron witryny i innych klas, ktre mog znajdowa si w katalogu App_Code oraz innych miejscach.
Przy tworzeniu testw jednostek w ASP.NET uywane s trzy gwne atrybuty: UrlToTest,
HostType i AspNetDevelopmentServerHost. Atrybut UrlToTest umoliwia okrelenie
strony, ktr naley wywoa w czasie uruchamiania danego testu jednostek. Strona jest wywoywana przez platform testw, a dla testu jednostek dostpny jest kontekst dania sieciowego
(poprzez obiekt Page). W kodzie testu jednostek mona korzysta ze rodowiska ASP.NET
w taki sam sposb, jak w pliku z kodem ukrytym strony internetowej.
Atrybut HostType umoliwia zmian typu hosta na ASP.NET. W tym celu naley przekaza
do atrybutu acuch znakw ASP.NET.
Przy korzystaniu z hosta w postaci serwera IIS wystarczy ustawi atrybuty UrlToTest i HostType.
Jeli jednak programista uywa serwera ASP.NET Development (wspdziaajcego z Visual
Studio), musi ponadto doda atrybut AspNetDevelopmentServerHost. Jako parametr atrybutu naley przekaza ciek do aplikacji sieciowej. Trzeba te poda nazw gwnego katalogu aplikacji sieciowej.
Na listingu 9.8 pokazano przykad zastosowania wszystkich trzech wymienionych atrybutw
do zdefiniowania testu jednostek ASP.NET dziaajcego na lokalnym serwerze rozwojowym.
428
429
Rysunek 9.17. Plik .testsettings mona wykorzysta do skonfigurowania caego projektu testw, tak aby dziaa
dla witryny ASP.NET
Wskazwka
Jeli rozwizanie zawiera wiele projektw testw jednostek, warto
utworzy kilka wersji pliku .testsettings. Nastpnie mona atwo
przecza si midzy konfiguracjami dla hostw ASP.NET i standardowego (VSTest).
430
W oknie dialogowym naley otworzy widoczny po lewej stronie wze Hosts, a nastpnie
ustawi warto ASP.NET dla opcji Host type. Spowoduje to udostpnienie kilku dodatkowych
opcji: URL to Test, Path to Web Site i Web Application Root. Kad z tych opcji mona ustawi
na wartoci domylne dla caego projektu testw jednostek.
Konfigurowanie atrybutw
testw jednostek
Pokazalimy, e istnieje wiele atrybutw, ktre mona zastosowa do testw jednostek. Oczywicie, moliwe jest skonfigurowanie kadego z nich w edytorze kodu. Jednak Visual Studio
udostpnia pewn pomoc w oknie dialogowym Properties. Mona wybra dany test jednostek,
wywietli okno Properties, a nastpnie skonfigurowa atrybuty stosowane do metody testowej.
Visual Studio wygeneruje kod atrybutw dla metody testowej. Przyjrzyjmy si przykadowi.
Definiowanie poczenia
za pomoc okna dialogowego Properties
Pierwszym krokiem przy stosowaniu okna Properties do konfigurowania testw jednostek jest
wybranie testu. Naley to zrobi w oknie Test View (Test/Windows/Test View). Nastpnie
mona klikn prawym przyciskiem myszy test na licie i wybra opcj Properties, aby wywietli okno Properties dla danego testu. Na rysunku 9.18 pokazano przykadowe dane.
Warto zauway, e w oknie Properties znajduj si waciwoci wielu atrybutw, ktre mona
zastosowa do metody testowej. Zmiana wartoci jednej z waciwoci spowoduje wygenerowanie
przez rodowisko Visual Studio atrybutu i kodu w pliku z kodem (midzy kodem i omawianym
oknem nastpuje dwustronna synchronizacja).
Przykadowo, waciwo Data Connection String uatwia zdefiniowanie atrybutu DataSource.
Kliknicie przycisku z wielokropkiem przy waciwoci powoduje uruchomienia kreatora,
dziki ktremu mona zdefiniowa acuch poczenia z baz danych SQL, plikiem CSV lub
plikiem XML (oczywicie, mona nawiza poczenie take z innymi rdami danych, ale
wymaga to napisania wasnego acucha poczenia). We wczeniejszym przykadzie uywalimy
pliku CSV. Po zaznaczeniu opcji zwizanej z tym formatem mona przej do pliku CSV, a nawet
podejrze zapisane w nim dane. Na rysunku 9.19 pokazano przykadowy ekran kreatora. Po ustawieniu wszystkich opcji kreator zaktualizuje kod, dodajc atrybuty DataSource i DeploymentItem.
Poniej znajduje si uzyskany kod konfiguracyjny:
[TestMethod(),
DeploymentItem("BusinessDomainUnitTests\\TestData\\OrderTestData.csv"),
DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
"|DataDirectory|\\OrderTestData.csv", "OrderTestData#csv",
DataAccessMethod.Sequential)]
public void VerifyCustomerOrders() { ...
431
Rysunek 9.18. Mona zaznaczy test w oknie Test View, a nastpnie skonfigurowa jego atrybuty w oknie Properties
Rysunek 9.19.
Testy jednostek mona
powiza z testowymi
danymi, w tym
z prostym plikiem .csv
432
Rysunek 9.20. Do testu uporzdkowanego mona doda istniejcy test jednostek, aby utworzy nowy test, w ktrym
poszczeglne testy uruchamiane s w okrelonej kolejnoci
433
Po lewej stronie okna dialogowego znajduj si wszystkie testy z rozwizania. Mona wywietli testy z wybranej listy (zobacz podrozdzia Organizowanie testw). Po lewej stronie naley
zaznaczy poszczeglne testy i uy strzaki (>) w celu ich dodania do testu uporzdkowanego.
Skierowane w gr i w d strzaki widoczne po prawej stronie su do zmiany kolejnoci
przeprowadzania testw.
Przy wykonywaniu testw uporzdkowanych rodowisko Visual Studio uruchamia kady test
jednostek w podanej kolejnoci. Jeli ktrykolwiek test si nie powiedzie, cay test uporzdkowany
zakoczy si niepowodzeniem. Oczywicie, mona wywietli szczegowe informacje na temat
testu uporzdkowanego, aby zobaczy, ktre testy zakoczyy si sukcesem, a ktre porak.
Organizowanie testw
Wikszo projektw testw jednostek skada si z licznych testw nieraz s ich setki. Ponadto czsto w jednym rozwizaniu znajduje si wiele projektw testw jednostek. Zarzdzanie
wszystkimi testami i uruchamianie tylko tych potrzebnych w danym momencie bywa trudne.
Visual Studio udostpnia pewn pomoc w tym zakresie okna Test View i Test List Editor.
434
Rysunek 9.21. Okno Test View umoliwia atwe zaznaczenie zbioru testw do uruchomienia
Rysunek 9.22.
Mona uy opcji
Group By, aby uatwi
sobie znalezienie
testw jednostek
Dostp do okna Test List Editor mona uzyska z menu Test (Test/Windows/Test List Editor).
Pojawi si okno podobne do tego z rysunku 9.23. Po lewej stronie widniej listy testw. Domylnie dostpne s opcje Lists of Tests, Tests Not in a List i All Loaded Tests. Jeli programista
wybierze list z testami (na przykad All Loaded Tests), moe albo uruchomi ca list, albo uy
pl wyboru widocznych po prawej stronie okna do wybrania z listy testw do przeprowadzenia.
Rysunek 9.23. Mona zaznaczy testy w oknie Test List Editor i uruchomi je jako grup
Okna Test List Editor mona uywa do tworzenia nowych list testw w celu zapisania testw
regularnie wykonywanych w jednym zestawie. Aby utworzy list, naley klikn prawym
przyciskiem myszy pozycj Lists of Tests w oknie Test List Editor, a nastpnie wybra opcj
New Test List. Pojawi si okno dialogowe Create New Test List. W oknie mona poda nazw
listy testw i okreli jej pozycj wrd innych list (zobacz rysunek 9.24).
Aby doda test jednostek do nowej listy, mona zastosowa technik przecigania. Najpierw
naley wybra list All Loaded Tests w celu wywietlenia wszystkich wczytanych testw. Nastpnie trzeba zaznaczy wszystkie testy, ktre maj znale si na nowej licie. Wybrane testy
wystarczy przecign na nazw niestandardowej listy widoczn po lewej stronie okna Test List
Editor. W ten sposb testy zostan powizane z now list. Na rysunku 9.25 pokazano kilka
przykadowych niestandardowych list i testy z jednej z nich.
436
Rysunek 9.24.
Mona definiowa
nowe listy testw do
wielokrotnego uytku
Rysunek 9.25. Mona definiowa niestandardowe listy testw i dodawa do nich testy jednostek
437
Podsumowanie
W tym rozdziale pokazalimy, jak uywa platformy testw jednostek do definiowania projektw testw i jak za pomoc atrybutu TestClass tworzy pliki klas testw. Kada metoda
testowa powinna mie atrybut TestMethod. Przy uyciu klasy atrybutu DataSource mona
tworzy testy jednostek powizane z danymi.
Visual Studio umoliwia generowanie testw jednostek na podstawie istniejcego kodu. Udostpnia te w narzdziu Test View okno dialogowe Properties, aby uatwi generowanie kodu
atrybutw testw.
Mona tworzy testy jednostek obsugiwane przez ASP.NET (na serwerze IIS lub serwerze
rozwojowym rodowiska Visual Studio). W testach jednostek ASP.NET wykorzystywany jest
obiekt TestContext do uzyskania dostpu do informacji o rodowisku ASP.NET, w tym o przetwarzanej stronie, sesji i zmiennych serwera.
Pisanie testw jednostek moe prowadzi do zmniejszenia liczby problemw w kodzie produkcyjnym. Przygotowanie zestawu testw kodu uatwia jego zrozumienie i zwiksza niezawodno. Ponadto programista moe z wiksz pewnoci wprowadza zmiany, poniewa
potrafi okreli, w jakim fragmencie kodu w wyniku modyfikacji pojawiy si usterki.
438
Skorowidz
!, 136
!=, 135
#End Region, 368
#endregion, 368
#region, 368
#Region, 368
$CALLER, 504
$FUNCTION, 504
&, 135, 136
&&, 136
.NET, 23, 175
.NET Framework 4, 74
.NET Framework Components, 831
//HACK, 394
//TODO, 394
@Page, 769
@Register, 804
@WebService, 1018, 1019
^, 136
|, 136
||, 136
+, 135
<%@ Page StylesheetTheme="" %>, 774
<%@ Page Theme="" %>, 773
<%@ Register %>, 804
<%= %>, 165
<>, 144
<asp:Label>, 782
<asp:WebPartZone>, 782
<Author>, 386
<Code>, 386, 388
<CodeSnippet>, 386
<CodeSnippets>, 386
<Declarations>, 386
<Default>, 386
<Description>, 386
<Function>, 386
<Header>, 386
<ID>, 386
<Literal>, 386
<Shortcut>, 386
<Snippet>, 386
<SnippetType>, 386
<SnippetTypes>, 386
<Title>, 386
<ToolTip>, 386
<ZoneTemplate>, 782
=, 135
==, 135
A
Abstract, 121
Access, 993
Access board section 508, 734
AccessDataSource, 800, 993
Accessibility Validation, 289
Accordion, 917
Action, 175, 745, 1154
ActionsPane.StackOrder, 1150
ActionsPaneControl1, 1150
Activate, 574
Active Template Library, 41
ActivePoint, 601
ActiveWindow.Object.GetItem, 620
Activity, 1068, 1077
Activity Designer, 1068, 1069
Activity Designer Library, 1066
Activity Library, 1065
ActivityXamlServices.Load(), 1080
Add ASP.NET Folder, 725, 771
Add Connection, 944
Add Controler, 814
Add Correlation Initializers, 1112
Add Database Reference, 970
Add New Data Source, 976
Add New Item, 56, 189, 340, 680, 728, 737, 738, 758,
765, 827, 1018
niestandardowe szablony, 341
Add New Project, 809, 1017, 1043
Add New Stored Procedure, 956
Add New Test, 403, 433
Add New Trigger, 960
Add New User Control, 290
Add Reference, 86, 730, 731
Add Related Tables, 948
Skorowidz
1210
Skorowidz
Application_Start, 819
Content, 812
Controllers, 811
Create, 815
dane, 805, 806
definiowanie przekierowa adresw URL
do kontrolera, 819
dodawanie mechanizmw, 812
dodawanie rekordw do modelu, 815
kodu interfejsu uytkownika, 806
kontroler, 806, 807
model, 805, 806
model przetwarzania da, 807
Models, 811
projekt, 809
przekierowanie adresw URL, 819
RegisterRoutes, 819
Scripts, 812
struktura katalogw, 810
szablon aplikacji, 805
testowanie, 809
tworzenie kontrolera, 814
tworzenie modelu, 812
tworzenie projektw, 809
tworzenie widoku, 817
UrlRoutingModule, 807
uruchamianie aplikacji, 820
View, 815
ViewResult, 815
Views, 811
widok, 805, 806, 807
zalety platformy ASP.NET MVC, 808
dania HTTP, 807
aplikacje do zarzdzania procesem, 1062, 1096
baza danych, 1099
biblioteka dostpu do danych, 1100
dodawanie usugi do utrwalania procesu, 1116
dostp do danych, 1108
komunikacja z pamici trwa, 1118
pami trwaa, 1117
projekt, 1097
projektowanie procesu, 1107, 1110
tworzenie, 1096
tworzenie aplikacji klienckiej, 1119
tworzenie biblioteki czynnoci, 1105
tworzenie niestandardowej czynnoci Code
Activity, 1106
tworzenie niestandardowej czynnoci zoonej, 1105
tworzenie pamici trwaej, 1117
tworzenie projektw, 1098
1211
Skorowidz
aplikacje WPF
komponenty formularzy Windows, 861
lista obrazw, 886
ListBox, 886
manipulowanie obrazami, 895
metody do obsugi zdarze zwizanych, 894
nawigowanie po znacznikach, 371
pliki XAML, 280
projekt, 280, 866
przegldarka obrazw, 888
przyciski, 894
rozmiar tabeli, 889
tworzenie, 871, 884
tworzenie ukadu, 885
ukad, 871, 885
wizanie danych, 986
wizanie rysunkw, 893
zapisywanie obrazw, 891
aplikacje XBAP, 922
app.xaml, 924
bezpieczestwo, 926
ClickOnce, 929
diagnozowanie, 925
formularze, 924
instalacja, 929
nawigowanie po witrynie, 928
PageX.xaml, 924
projekt, 923
strony, 924
tworzenie, 922
typy MIME, 931
uruchamianie, 925
WindowX.xaml, 924
zarzdzanie zabezpieczeniami, 928
app.config, 1103
App_Browsers, 727
App_Code, 428, 717, 726, 1018
App_Data, 716, 717, 726
App_GlobalResources, 726
App_LocalResources, 726
App_Themes, 727, 771
App_WebReferences, 726
AppFabric, 1158, 1160, 1164
Application, 863, 1017
application fabric, 1158
Application Type, 206
Application.EnableVisualStyles, 840, 841
Application_Start, 819
Apply Style, 763
Apply Styles, 287, 763
1212
Skorowidz
MVC, 56, 57
personalizacja interfejsw uytkownika, 776
pliki, 727
procedury obsugi zdarze, 744
skrki, 770
strony internetowe, 737
strony wzorcowe, 765
style, 754
testy jednostek, 428
uwierzytelnianie uytkownikw, 796
Web Part, 776
wykresy, 800, 801
zdarzenia, 741
ASP.NET Ajax, 904
aktualizacja czciowa, 907
ASP.NET MVC, 917
kontrolki, 905
odwieanie czciowe, 912
ScriptManager, 906
ScriptManagerProxy, 906
stronicowanie, 912
Timer, 906
UpdatePanel, 906, 908
UpdateProgress, 906, 913
wywietlanie informacji o postpie pracy
serwera, 913
wywietlanie powiadomie, 913
ASP.NET Ajax Control Toolkit, 916
ASP.NET Ajax Library, 915
kontrolki, 915
ASP.NET Development Server, 719
ASP.NET Empty Web Site, 1017
ASP.NET Membership, 795
ASP.NET MVC, 805
ASP.NET Ajax, 917
ASP.NET MVC 2 Web Application, 809
ASP.NET MVC 2 Web Role, 1167
ASP.NET MVC Web Application, 57
ASP.NET Non-Visual Controls, 779
ASP.NET Reports Web Site, 717
ASP.NET Web Application, 54
ASP.NET Web Role, 64, 1167, 1170, 1175
ASP.NET Web Service, 716
ASP.NET Web Site, 283, 716
ASPNETDB.MDF, 797
AspNetDevelopmentServerHost, 428
Assembly Name, 206
AssemblyCatalog, 691
AssemblyCleanup, 415
AssemblyInitialize, 415
1213
Skorowidz
Azure
relacyjna baza danych, 1169
role, 1164
rozwijanie aplikacji, 1174, 1175
serwer IIS, 1163
SQL Azure, 1169
subskrypcja usug, 1188
tabele, 1168
tworzenie interfejsu o roli Web, 1180
tworzenie konta do przechowywania danych, 1190
tworzenie konta usug hosted service, 1194
tworzenie modelu danych opartego na tabeli, 1175
tworzenie projektw, 1175
wdraanie aplikacji, 1174, 1188
zakadanie konta, 1188
zalety stosowania, 1158
Azure SDK, 1160
B
BackColor, 828, 840
base, 122
Basic Unit Test, 401
baza danych, 67, 942, 1099
aktualizowanie schematu, 968
budowanie zwizkw tabel, 948
definiowanie tabel, 945
diagram, 947
funkcje definiowane przez uytkownika, 961
indeksy, 946
klucze obce, 946
kompilowanie, 968
LINQ, 994
acuch poczenia, 973
obiekty bazy danych, 970
odwzorowanie obiektowo-relacyjne, 993
ograniczenia, 946
procedury skadowane, 956
projekt, 961
Schema View, 967
skrypty SQL, 962
SQL, 951
SQL Server, 942
tabele, 942
tworzenie, 943
tworzenie projektu, 962
wdraanie, 968
wizanie danych, 974
widoki, 955
wyzwalacze, 960
1214
Skorowidz
BuildDependencies, 562
BuildDependency, 562
BuildEvents, 562, 609
BuildingBlockGalleryContentControl, 1149
Business Intelligence, 1169
BusinessEntities, 1025, 1045, 1047
Button, 274, 792, 863
byte, 130
Byte, 130
C
C Runtime Library, 41
C#, 115
CA, 349
CAB, 540
Cached, 1152
CachedAttribute, 1151
CachedDataHostItem, 1153
CachedDataItem, 1153
CAL, 38
Calendar, 792
CalendarExtender, 918, 919
Call Hierarchy, 248
Call Stack, 476, 485, 519
CallBase(), 388
CancellationScope, 1089
Canvas, 696, 871
CascadingDropDown, 918
case, 137, 138
Case, 137, 138
Case Else, 138
CatalogZone, 779
Catch, 146, 147
CDbl, 132
CE, 71
CenterParent, 828
CenterScreen, 828
Cert2spc.exe, 349
Certificate Creation Tool, 349
certyfikaty Authenticode, 349
CGI Web Role, 1167
ChangePassword, 796
CharLeft, 600
CharRight, 600
Chart, 800, 801
CheckBox, 792
chmurki, 841
chmury obliczeniowe, 63, 1158
Choose Data Source, 909
1215
Skorowidz
Cloud Service, 64
CLR, 40
clrversion, 335
CLS, 40
CMMI, 37
Code Activity, 1068, 1069, 1075
Code Definition, 262, 263
Code DOM, 682
Code Snippets Manager, 389
CodeActivity, 1063, 1075, 1077
CodeActivityContext, 1076
CodeClass, 569
CodeElement, 569
CodeElement.Kind, 569
CodeElements, 569, 570
CodeModel, 569
Collapse to Definitions, 369
CollapseAll, 621
CollapsiblePanelExtender, 917
Collection, 1086
CollectionAssert, 421
CollectionBase, 143, 144
Column.Width, 889
COM, 640
COM Components, 831
ComboBoxContentControl, 1149
Command, 562, 605
Bindings, 607
skadowe, 605
Command Window, 578, 583
uruchamianie makra, 632
CommandBar, 588, 589, 590, 591
skadowe, 590
CommandBarControl, 589
CommandBars, 591
Commands, 562, 605, 651
AddNamedCommand, 607
Raise, 606
Commands2, 562, 651
CommandWindow, 562, 578, 583
Common Language Runtime, 40
Common Language Specification, 40
Common Type System, 40
CompareValidator, 794
CompensableActivity, 1087, 1088, 1089
Compensate, 1089
CompensationHandler, 1088
Compile options, 207
Compiler conditions, 207
Complete Word, 375
1216
Skorowidz
D
DAC, 969
dane, 67
dane hierarchiczne, 849
dane tabelaryczne, 852
dane XML, 164, 165
Data, 92
Data Source Configuration Wizard, 976, 977
Data Sources, 978
Data Tier Applications, 969
Data/New Query, 952
Database, 961
Database Diagram Designer, 947, 949
Database Unit Test, 401
DataContext, 882
DataGridView, 852, 978, 980, 990
dostosowanie edycji komrek, 983
edycja komrek, 983
modyfikacja zapytania dla rda danych, 985
typy komrek, 852
wizanie danych, 980, 983
zmiana typu kolumny, 984
rda danych, 852
1217
Skorowidz
DataGridViewButtonColumn, 983
DataGridViewColumn, 983
DataGridViewComboBoxColumn, 983, 984
DataList, 800, 808, 990
DataPager, 800
DataServiceContext, 1177
DataSet, 161, 1151
DataSet Designer, 981, 982, 984
DataSource, 415, 423, 431
DataTable, 161
DataTemplate, 893
DataTip, 508, 509
DatePickerContentControl, 1149
DateTimePicker, 980, 983
Debug, 91, 470, 482
tryb diagnostyczny, 483
tryb spoczynku, 482
DEBUG, 206
Debug Location, 517
Debug Source Files, 192
Debug with Mixed, 528
debuger, 207, 477, 481
aplikacje sieciowe, 489
Break All, 491
Breakpoints, 496
Continue, 493
Detach All, 493
doczanie do dziaajcego procesu, 477
kontynuowanie wykonywania kodu, 493
koczenie sesji diagnostycznej, 493
menu Debug w czasie sesji diagnostycznej, 484
menu Debug w stanie spoczynku, 482
obiektowy model automatyzacji, 608
opcje diagnozowania, 487
pasek narzdzi Debug, 486
podgldanie danych, 505
podgldanie zmiennych, 505
podpowiedzi DataTip, 508
przechodzenie przez kod, 491
punkt ledzenia, 503
rozpoczynanie sesji diagnostycznej, 489, 491
Run To Cursor, 490
sesja diagnostyczna, 483
Start Debugging, 491
Step Into, 489, 491
Step Out, 493
Step Over, 489, 491
Terminate All, 493
uruchamianie sesji diagnostycznych, 482
ustawianie punktw przerwania, 494
1218
Skorowidz
DELETE, 955
Delete All Breakpoints, 483
DeleteQuery, 992
dependency injection, 689
Deploy SQL, 552
DeploymentItem, 416, 431
deserializacja, 1153
Design, 55
design schema, 68
Detach All, 485, 493
DetailsView, 800, 989
development fabric, 1159
Development Fabric, 64, 65, 1173
Development Storage Service, 1173
Development Tools Environment, 561
DevFabric, 1159, 1161, 1170
diagnozowanie, 258, 468, 481
analiza kodu, 470
aplikacje sieciowe, 470
aplikacje XBAP, 925
Breakpoints, 480
Call Stack, 476
diagnozowanie bdw, 475
diagnozowanie innych procesw, 476
etapy, 469
Exception Assistant, 476
Exceptions, 474
Immediate, 476
kodowanie, 469
kompilacja, 469
kontynuowanie diagnozowania, 478
kroczenie przez kod, 480
Locals, 476
makra, 623
podgldanie zmiennych, 505
procedury skadowane, 958
przegld kodu, 470
przerywanie w momencie wystpienia bdu, 474
rozwizywanie problemw, 470
Run To Cursor, 472
samodzielne sprawdzanie, 470
scenariusz, 469
Show Next Statement, 478
skrypty dziaajce po stronie klienta, 526
Start Without Debugging, 472
Step Into, 480
stos wywoa, 476
testy jednostek, 470
Thrown, 475
uruchamianie aplikacji w trybie diagnozowania, 472
1219
Skorowidz
DivideByZeroException, 146
dowhile, 140
DoWhile, 140
Dock, 835
DockPanel, 871, 872
Document, 51, 562, 592, 594
skadowe, 592
Document Outline, 232, 371, 372
Collapse All, 234
Expand All, 234
modyfikacja elementw, 233
Move Down in Container, 234
Move into Next Container, 234
Move Out of Current Container, 234
Move Up in Container, 234
pasek narzdzi, 234
Type Name Display Style, 234
Document Type Definition, 264
DocumentReader, 862
Documents, 562, 592
dodatki, 51, 636
Add-in Manager, 653
aplikacja nadrzdna, 638
COM, 640
Connect, 640, 645, 659
CreateToolWindow2, 659
cykl ycia, 645
DTE.AddIns, 653
IDTCommandTarget, 645
IDTExtensibility2, 645, 646
IDTToolsOptionsPage, 662, 663
jzyk, 638
kod wygenerowany przez kreator dodatkw, 640
kreator dodatkw, 637
meneder dodatkw, 653
obiektowy model automatyzacji, 653
obsuga zdarze, 645
okno About, 639
OnAddInsUpdate, 647
OnBeginShutdown, 647
OnConnection, 648
OnDisconnection, 650
OnStartupComplete, 651
opcje, 639
opisywanie dodatkw, 639
paleta do wybierania kolorw, 654
parametry dodatku, 637
programowe zarzdzanie dodatkami, 653
projekt, 637
przechwytywanie zdarze kontrolki
uytkownika, 661
1220
Skorowidz
CommandBars, 564
Commands, 564
Debugger, 564
Documents, 564
Events, 564
ExecuteCommand, 565
LaunchWizard, 565
MainWindow, 565
Quit, 565
Solution, 564
StatusBar, 565
ToolWindows, 565
WindowConfigurations, 565
DTEEvents, 628
OnMacrosRuntimeReset, 628
OnStartupComplete, 628
duck typing, 690
dynamic, 167
Dynamic Data Entities Web Site, 717
Dynamic Data Field, 727
Dynamic Data Linq to SQL, 717
Dynamic Data Linq to SQL Web Site, 717
DynamicObject, 169
TryCreateInstance, 169
TryGetMember, 169
TryInvokeMember, 169
TrySetMember, 169
dynamiczne aplikacje, 688
dynamiczne obiekty, 167
dynamiczne typy danych, 167
dziedziczenie, 121, 296
przesanianie operacji, 122
skadowe wirtualne, 122
wywoanie metody z klasy bazowej, 122
dzielenie podzespow na wiele plikw, 164
E
ECMA, 41
ECMAScript, 905
Edit, 89
Edit and Continue, 511
Edit breakpoint labels, 499
Edit DataSet with Designer, 984
Editor Classifier, 695
Editor Margin, 696
Editor Text Adornment, 697
Editor Viewport Adornment, 698
EditorClassifier1, 695
EditorClassifier1Format, 695
1221
Skorowidz
EditorMargin1, 696
EditorZone, 779, 786
EditPoint, 562, 596, 597, 599, 600, 601
InsertFromFile, 600
EditPoint2, 597
skadowe, 597
EDM, 68, 69, 977, 1001
edycja
arkusze stylw XSLT, 269
dokumenty XML, 264
model EDM, 1003
edycje rodowiska Visual Studio 2010, 24, 31
edytor arkuszy CSS, 270
definiowanie atrybutw arkuszy stylw, 271
dodawanie zasad stylw, 271
edytor File System, 542
edytor formularzy, 830, 831
paleta komponentw, 831
edytor HTML Source Editor, 285
opcje formatowania kodu, 286
tabele HTML, 286
edytor manifestw, 352
edytor Registry, 543
edytor rodowiska Visual Studio, 692
dekoracje, 693
formatowanie, 692
IntelliSense, 693
marginesy, 692
mechanizmy obsugi myszy, 693
mechanizmy obsugi upuszczania, 693
opcje, 693
rodzaje zawartoci, 692
suwaki, 692
tagi, 693
typy klasyfikacyjne, 692
edytor XML, 264
edytory kodu, 98
Code Definition, 262
edytor jzyka C#, 98
edytor jzyka SQL, 956, 957
edytor jzyka Visual Basic, 99
inteligentne znaczniki, 373
edytory tekstu, 98, 236
aktywne odnoniki, 365
diagnozowanie, 258
dostosowywanie, 100
drukowanie kodu, 262
elementy okna, 243
IntelliSense, 363, 375
1222
Skorowidz
ExpandCollapseNodes, 621
ExpectedException, 416, 422
Explicit naming, 373
Export DataTips, 483, 486
Export File, 618
Expression Blend, 40, 48, 61, 62
Expression Design, 40
Expression Encoder, 40
Expression Media, 40
Expression Studio, 40
Expression Web, 40
ext_cm_AfterStartup, 648
ext_cm_CommandLine, 648
ext_cm_External, 648
ext_cm_Solution, 648
ext_cm_Startup, 648
ext_cm_UISetup, 648
ext_ConnectMode, 648
ext_DisconnectMode, 650
ext_dm_HostShutdown, 650
ext_dm_SolutionClosed, 650
ext_dm_UISetupComplete, 650
ext_dm_UserClosed, 650
extender providers, 837
Extender Wizard, 920
Extensible Application Markup Language, 53
Extensible Markup Language, 1016
Extension Manager, 341, 699
tryb dziaania, 700
extension method, 157
ExtensionAttribute, 157
Extract Interface, 441, 459
wyodrbnianie interfejsw, 459
Extract Method, 441, 451
F
F#, 114
Fail, 420
false, 138
FastCGI, 1167
File, 85, 89
File Breakpoint, 501, 502
File System, 542
File Transfer Protocol, 722
File Types, 544
FileResult, 808
FileUpload, 792
FilteredTextBoxExtender, 918
filtry ISAPI, 721
1223
Skorowidz
1224
FormStartPositon, 827
formularz startowy, 826
formularze sieciowe, 282, 737, 808, 809
Apply Styles, 287
dodawanie kontrolek, 284
Manage Styles, 287
modyfikacja znacznikw, 285
projekt, 283
projektowanie aplikacji, 283
rozmieszczanie kontrolek, 284
sposb wywietlania, 741
sprawdzanie poprawnoci kodu, 288
tworzenie, 285
wygld strony w przegldarce, 288
zarzdzanie stylami, 287
zgodno ze standardami, 289
formularze Windows, 44, 46, 62, 271, 274, 822
BackColor, 828
cykl ycia, 829
dodawanie kontrolek, 273, 274, 830
dostosowywanie wygldu formularza, 273
dziedziczenie wygldu innego formularza, 827
ForeColor, 828
Forms Designer, 830
formularz startowy, 826
gboko kontrolek, 846
klasa formularza, 826
kolejno przechodzenia po kontrolkach, 840
kolory, 828
komponenty, 830
kontenery, 836
kontrola automatycznego skalowania, 835
kontrolki, 830
kontrolki kontenerowe, 835
kultura, 823
lokalizacja, 823
menu, 842
okno projektowe, 373
Opacity, 828
pasek narzdzi, 844
pasek statusu, 847
pisanie kodu, 277
pooenie pocztkowe, 827
pozycjonowanie kontrolek, 831
projekt, 826
projektowanie, 822
przezroczysto, 828
rozmieszczanie kontrolek, 275
standardy UI, 824
StartPosition, 827
Skorowidz
tworzenie, 826
tworzenie procedury obsugi zdarze, 829
ukad kontrolek, 831
uytkownik kocowy, 823
wizanie danych, 982
waciwoci, 827
wygld, 828
wywietlanie danych, 849
zdarzenia, 827, 828, 829
formularze WinForm, 44
formularze WPF, 48, 49, 102, 281, 310
dodawanie kontrolek, 282
projektowanie, 62
FormView, 800, 989
FPSE, 553
fragmenty kodu, 380
Code Snippets Manager, 389
dodawanie fragmentw kodu do rodowiska
Visual Studio, 388
format XML fragmentw kodu, 385
funkcje, 388
okno narzdzi, 390
otaczanie kodu, 383
Surround With, 383
tworzenie wasnych fragmentw kodu, 385
udostpnianie przez sie, 390
wzy XML, 386
wstawianie, 381
FrameworkElement, 882
FrontPage Server Extensions, 553
FTP, 722
Func, 175
Function, 117, 134, 162
funkcje anonimowe, 162
funkcje definiowane przez uytkownika, 961
funkcje pakietu Office, 1131
funkcje wewntrzwierszowe, 163
G
GAC, 729
galeria rodowiska Visual Studio, 331
GDI+, 176
Generate From Usage, 373, 374
GenerateSwitchCases(), 388
Generic Handler, 727
generowanie
kod, 158
schematy kodu, 367
szablony XML, 265
H
HACK, 394
Hashtable, 143, 170
Help, 93, 312
Help Library Manager, 312
hermetyzacja pl, 465
Hit Count, 502
HorizontalAlignment, 886
host, 1042, 1049
host procesu, 1064
hosting, 1158
hosting usug WCF, 1058
hosting samodzielny, 1058
IIS, 1059
usugi systemu Windows, 1059
WAS, 1059
HostType, 416, 428
HoverMenuExtender, 918
HTML Designer, 751
HTML Page, 728
HTML Source Editor, 285
HTMLWindow, 562
HTMLWindow3, 562
HTTP, 74, 75, 1016, 1031
Hypertext Transfer Protocol, 1016
1225
Skorowidz
I
IClassifier, 695
IComponent, 289
Icon, 206
Icons Gallery Add-In, 1140
ICustomerProfile, 1045
IDE, 88, 969
IDE Macros, 616
identyfikator GUID, 661
identyfikator skrki, 775
IDictionary, 1074, 1081
IDTCommandTarget, 645
IDTCommandTarget.Exec, 651
IDTExtensibility2, 636, 645, 646
OnAddInsUpdate, 646, 647
OnBeginShutdown, 646, 647
OnConnection, 646, 648
OnDisconnection, 646, 650
OnStartupComplete, 646, 651
IDTToolsOptionsPage, 662, 683
skadowe, 663
IDTWizard, 677, 679, 680
IEnumerable, 161
IEnumerable<T>, 174
IEnumerator<T>, 174
if, 136
IfThenElse, 136
Ignore, 416
IIS, 718, 720, 1059
ikona podzespou, 206
ikony punktw przerwania, 496
Image, 705, 792, 888
ImageList, 47, 850
imageMso, 1140
Images Collection Editor, 851
Immediate, 476, 482, 485
implementacja interfejsu, 125, 297
inteligentne znaczniki, 374
Implements, 125
Implicit naming, 373
implicit typing, 151
Import and Export Settings, 80, 81, 82, 303
wybr ustawie, 81
Import DataTips, 483, 486
importowanie przestrzeni nazw, 128
importowanie ustawie, 82
imports, 128
in, 174
Inconclusive, 420
Incremental Search, 257
1226
indeksy, 946
Index Columns, 946
Indexes/Keys, 946
informacje o parametrach, 379
Inherited Form, 827
Inherits, 121
inicjator obiektw, 153
inicjowanie kolekcji, 155
inicjowanie obiektw zdarze, 628
Init, 743
InitComplete, 743
InitializeCorrelation, 1090
Inline Function, 961
INSERT, 954, 955
Insert Breakpoint, 478, 495
Insert Snippet, 381
Insert Tracepoint, 504
instalacja
aplikacje XBAP, 929
ClickOnce, 208
pakiet SDK, 349
szablony Visual Studio, 331, 339
udostpniane zasoby, 330
usugi w chmurze technologii Azure, 66
usugi WCF, 1058
instalacja rodowiska Visual Studio 2010, 78
wybr jzyka, 78
instalator systemu Windows, 535, 539
Custom Actions, 546
doczanie plikw do pakietu instalacyjnego, 541
dostosowanie wygldu kreatora instalacji, 545
File System, 542
File Types, 544
Launch Conditions, 546
powizania typw plikw, 544
projekt, 540
publikowanie projektw, 539
Registry, 543
Setup Wizard, 540
User Interface, 545
warunki wstpne, 546
wpisy w rejestrze, 543
wyjtkowe wymagania zwizane z instalacj, 546
instrukcje SLQ, 909
instrukcje Using, 380
int, 130
Integer, 130
inteligentne operacje, 372
inteligentne znaczniki, 372, 373
Generate From Usage, 373, 374
generowanie, 373
Skorowidz
Internal, 119
InternalsVisibleToAttribute, 164
InvokeMethod, 1085
IronPython, 171
IronRuby, 171
Is, 135
ISAPI, 721
IsCached(), 1152
IService1.cs, 1044
IsFalse, 420
IsInstanceOfType, 420
IsNot, 135
IsNotInstanceOfType, 420
IsNotNull, 420
IsNull, 420
IsTrue, 420
Item Collection Editor, 848
itemname, 335
iteratory, 139
J
JavaScript, 59, 526, 793, 905
jednostki eksportowane, 690
jzyk programowania, 40, 114
ASP, 165
CSS, 757
F#, 114
JavaScript, 59
jzyk skryptowy, 41
T-SQL, 956
UML, 297
VBA, 1130
WSDL, 1012, 1029
XAML, 44, 48, 53, 61, 863
XHTML, 55
JOIN, 954
jQuery, 53, 716
JScript 8.0, 41
JScript File, 728
JsonResult, 808
Just-In-Time, 487
K
kanay RSS, 306, 308
kaskadowe arkusze stylw, 270
katalog, 691
katalog folderw, 691
katalog podzespow, 691
katalog typw, 691
1227
Skorowidz
1228
Skorowidz
klient sieciowy, 53
klient SOAP, 1037
klient WCF, 1042
klucz gwny, 945, 950
klucze obce, 946, 948, 950
kod HTML, 285
kod LINQ, 998
kod SQL, 953
kod szablonowy, 380
kod XAML, 48, 280
kod XML, 165
kodowanie, 469
kolejki, 1168
kolejkowanie komunikatw, 228
kolekcje, 141, 143
ArrayList, 143
CollectionBase, 143
definiowanie, 155
Hashtable, 143
inicjowanie, 155
Queue, 143
SortedList, 143
Stack, 143
kolekcje oglne, 144
wariancja, 174
kolorowanie skadni, 365
kompilacja, 469
aplikacje ASP.NET, 731
procedury skadowane, 974
kompilator, 364
komponenty, 289, 830
pisanie kodu, 291
tworzenie, 290
komponenty COM, 661
kompozycje, 770
App_Themes, 771
stosowanie, 773
tworzenie, 771
komunikacja P2P, 176
komunikacja z pamici trwa, 1118
komunikaty SOAP, 1031
komunikaty XML, 165
konfiguracja atrybutw testw jednostek, 431
DataSource, 431
definiowanie poczenia, 431
DeploymentItem, 431
konfiguracja chmury, 65
konfiguracja kompilacji, 193, 206
konfiguracja punktw przerwania, 259
konfiguracja rodowiska programistycznego, 79
1229
Skorowidz
kontrolki
ListBox, 886
menu, 842
MenuStrip, 46, 841, 842, 843
modyfikacja atrybutw, 277
Panel, 46
pasek narzdzi, 844
pasek statusu, 847
pozycjonowanie, 749, 831
Repeater, 989
rozmieszczanie, 275
SplitContainer, 46, 849
Splitter, 837
StackPanel, 876
StatusBar, 847
StatusStrip, 46, 841
style wizualne, 840
Timer, 274
ToolStrip, 841, 844, 847
ToolStripItem, 841, 844
TreeView, 849
tworzenie, 290
tworzenie kontrolek, 853
ukad, 831
UpdatePanel, 58
UpdateProgress, 58
wizanie danych, 974
wskazwki, 841
wygld, 840
zachowanie, 840
zmiana rozmiaru, 277
kontrolki Ajax Control Toolkit, 917
Accordion, 917
AlwaysVisibleControlExtender, 917
AutoCompleteExtender, 917
CalendarExtender, 918, 919
CascadingDropDown, 918
CollapsiblePanelExtender, 917
ConfirmButtonExtender, 918, 921
FilteredTextBoxExtender, 918
HoverMenuExtender, 918
ListSearchExtender, 918
MaskedEditExtender, 918
ModalPopupExtender, 918
PasswordStrength, 918
PopupControlExtender, 918
ReorderList, 918
SliderExtender, 918
SlideShowExtender, 919
stosowanie kontrolek, 919
1230
TabContainer, 919
TextBoxWatermarkExtender, 919
kontrolki ASP.NET, 788
AccessDataSource, 800
adaptacyjne generowanie, 789
Button, 792
Calendar, 792
ChangePassword, 796
Chart, 800, 801
CheckBox, 792
CompareValidator, 794
CreateUserWizard, 796
CustomValidator, 794
DataList, 800
DataPager, 800
DetailsView, 800
DropDownList, 792
EntityDataSource, 800
FileUpload, 792
FormView, 800
GridView, 801
Image, 792
kontrolki danych, 799
kontrolki do sprawdzania poprawnoci, 793
kontrolki logowania, 795
kontrolki nawigacyjne witryny, 798
kontrolki standardowe, 792
kontrolki uytkownika, 801
kontrolki walidacyjne, 793, 794
Label, 792
LinqDataSource, 800
ListBox, 792
ListView, 801
Literal, 792
Login, 795
LoginName, 796
LoginStatus, 796
LoginView, 795
model obsugi zdarze, 789
MultiView, 792
ObjectDataSource, 800
Panel, 792
PasswordRecovery, 795
QueryExtender, 801
RadioButton, 792
RangeValidator, 794
RegularExpressionValidator, 793, 794
Repeater, 801
RequiredFieldValidator, 794
SiteMapDataSource, 800
Skorowidz
SiteMapPath, 798
skrki, 790
sprawdzanie poprawnoci danych, 790, 793
SqlDataSource, 800
style, 790
Table, 792
TextBox, 792
ukad oparty na szablonach, 790
ValidationSummary, 793, 794
wizanie danych, 790
Wizard, 793
wprowadzanie danych, 790
wykrywanie przegldarek, 789
XML, 793
XmlDataSource, 800
zachowywanie stanu, 789
zgodno ze standardem XHTML, 789
kontrolki ASP.NET Ajax, 905
ScriptManager, 905, 906
ScriptManagerProxy, 906
Timer, 906
UpdatePanel, 906
UpdateProgress, 906, 913
kontrolki niestandardowe, 290, 805, 853, 857
kontrolki rysowane przez programist, 857
tworzenie, 857
kontrolki uytkownika, 290, 853, 854
dodawanie kontrolek, 855
projekt, 854
projektowanie, 854
przechwytywanie zdarze, 661
tworzenie, 655
zagniedanie kontrolek uytkownika, 855
kontrolki uytkownika ASP.NET, 801
dodawanie kontrolki do strony, 803
projekt, 802
rejestrowanie kontrolki na stronie, 804
tworzenie, 802
Web User Control, 802
kontrolki Web Part, 776
CatalogZone, 779
EditorZone, 779, 786
LayoutEditorPart, 786
strefy strony, 777
style, 778
ustawienia kontrolek, 788
WebPartManager, 777, 779
WebPartZone, 777, 779
zarzdzanie ukadem strony, 777
L
Label, 274, 755, 792
LabelInstructions, 768
Language Integrated Query, 160
Launch Conditions, 546
Layout, 102
LayoutEditorPart, 786
LayoutMode, 275
Left, 833
1231
Skorowidz
1232
M
machinename, 335
Macro Explorer, 614, 617, 619
Macros, 616, 619
diagnozowanie makra, 623
dodawanie projektw, 619
obsuga zdarze, 623
pisanie makr, 620
wywoywanie makr, 629
Main, 242, 367
MakeCert.exe, 349
MakeZipExe.exe, 349
makra, 345, 612
diagnozowanie, 623
dodawanie deklaracji nowych zdarze, 627
dodawanie projektw, 619
dostp do okna, 620
dostp do zdarzenia, 627
DTEEvents, 628
DTEEvents.OnMacrosRuntimeReset, 628
DTEEvents.OnStartupComplete, 628
edytor kodu, 621
eksportowanie moduu, 618
EnvironmentEvents, 623, 625
format przechowywania, 618
inicjowanie obiektw zdarze, 628
kod makra, 615
Macro Explorer, 614
Macros, 616
makra tymczasowe, 614, 617
metody obsugi zdarze, 626
modyfikacja kodu, 621
obsuga zdarze, 623
parametry, 632
pisanie makr, 616, 620
pliki .vsmacros, 619
projekt, 617
rejestrowanie, 613
skrty klawiaturowe, 631
tworzenie, 613
uruchamianie, 613, 614, 629
WindowHiding, 627
Skorowidz
1233
Skorowidz
1234
N
NamedRange, 1149
namespace, 127
Namespace, 127
narzdzia, 36
narzdzia pomocnicze edytorw tekstu, 364
nawigowanie po kodzie, 246
refaktoryzacja, 441
tworzenie stylw, 756
VSTO, 1130
NativeActivity, 1063, 1077
nawiasy, 391
nawigacja, 367
nawigacja po rodowisku IDE, 88
nawigowanie po kodzie, 246
Call Hierarchy, 248
numerowanie wierszy, 246
zakadki, 247
nawigowanie po znacznikach, 370
Document Outline, 371
nazwy, 127
nazywanie elementw, 373
NetCF, 45
new, 123, 141
New, 156
New Breakpoint, 483, 486, 495
New Cloud Service Project, 64, 1166, 1170, 1175
New Data Breakpoint, 483
Skorowidz
O
O/R Designer, 996
dodawanie jednostek bazy danych, 996
klasy danych, 997
klasy LINQ to SQL, 996
kod LINQ, 998
nazwy jednostek, 999
obszar projektowy, 997
tabele, 997
obiektowy model automatyzacji, 560
BuildEvents, 609
CodeClass, 569
CodeElement, 569
CodeElements, 569, 570
Command, 605
Command Window, 583
CommandBar, 588, 589, 590
CommandBarControl, 589
Commands, 605
CommandWindow, 578, 583
debuger, 608
Debugger, 608
Document, 592
Documents, 592
dodatki, 653
dodawanie tekstu, 599
dokumenty, 592
dokumenty tekstowe, 593
1235
Skorowidz
1236
Skorowidz
P
P2P, 176
Page, 428
Page_Event, 744
pakiet Office, 50
pakiet Visual Studio SDK, 693
pakiety, 341
plik VSContent, 342
VSI, 342
VSIX, 349
pakiety startowe, 333
pakowanie rozszerze do plikw VSIX, 349
paleta do wybierania kolorw, 654
paleta komponentw, 830
PaletteControl, 661
pami podrczna danych, 1133, 1150
CachedAttribute, 1151
dodawanie danych, 1151
dostp do pamici podrcznej danych, 1152
wyspy danych, 1150, 1151
1237
Skorowidz
1238
Skorowidz
css, 728
dacpac, 969
dbml, 728
DISCO, 1016
edmx, 69
htm, 728
js, 728
master, 727
MSI, 341
pdb, 529, 530
rdlc, 728
resx, 728
sitemap, 728, 798
skin, 728
svc, 728
sync, 71
testsettings, 411
vb, 727
vbproj, 198
VSContent, 342
vsdir, 679
VSI, 342
VSIX, 310, 341, 349
vsmacros, 619
vssettings, 82
vstemplate, 336, 338
vsz, 679
XAML, 280
xml, 264
xsd, 67, 265
xsl, 264
XSLT, 269
pliki zrzutw, 527
PLINQ, 176, 995
pobieranie danych, 160
pocztkowy formularz, 827
podejmowanie decyzji, 135
podgld zmian, 445
podgldanie danych w debugerze, 505
podpowiedzi DataTip, 508
wizualizacja danych, 510
podgldanie zmiennych, 505
Autos, 506
Locals, 505
QuickWatch, 508
Watch, 507
podmienianie tekstu w plikach, 253, 255
podpisywanie plikw, 349
podpisywanie podzespou, 209
podpowiedzi DataTip, 483, 508
przyczepianie, 509
podzespoy, 164
podzespoy zaprzyjanione, 164
stosowanie, 164
pola, 115
definiowanie, 298
pola prywatne, 116
pola publiczne, 116
pole tekstowe, 274
polecenia, 604
argumenty, 606
Command, 605
dodatki, 651
klawisze skrtu, 607
obiektowy model automatyzacji, 604
polecenia nazwane, 651
wykonywanie, 606
polecenia SQL, 951
poczenie kontrolki ze rdem danych, 881
poczenie z baz danych, 943
poczenie z danymi, 224
pomoc, 312
aktualizacja lokalnego systemu pomocy, 313
Customer Feedback Options, 324
dodawanie materiaw do lokalnego systemu
pomocy, 313
dokumentacja rodowiska Visual Studio, 314
Find Content Online, 313
fora spoecznoci MSDN, 315
Help Library Manager, 312
menu Help, 312
MSDN, 314
MSDN Forums, 315
przesyanie informacji zwrotnych, 323
przykady, 326
Report a Bug, 324
Samples, 326
zarzdzanie ustawieniami systemu pomocy, 312
zgaszanie bdw, 323, 324
pomoc internetowa, 312
pomoc w usprawnianiu rodowiska Visual Studio, 324
PopupControlExtender, 918
porwnywanie, 134
poruszanie si po rodowisku IDE, 88, 108
porzdkowanie instrukcji Using, 380
Position, 750
powizanie arkusza XSLT z dokumentem XML, 270
poziomy dostpu do skadowych, 118, 119
pozycjonowanie bezwzgldne, 748
pozycjonowanie kontrolek, 749, 831
pozycjonowanie wzgldne, 748
pozycjonowanie za pomoc stylw CSS, 748
1239
Skorowidz
PreInit, 743
PreLoad, 743
PreRender, 743
PreRenderComplete, 743
PresentationCore.dll, 860
PresentationFramwork.dll, 860
Preview Changes, 445, 446
primary key, 950
Primitives, 1084
Print, 262
Private, 116, 119
procedury obsugi zdarze, 829
kontrolki, 745
strony ASP.NET, 744
procedury skadowane, 956
C#, 971
diagnozowanie, 958
kompilacja, 974
polecenia SQL, 957
wdraanie, 974
proces, 1062, 1063, 1065
Activity, 1069, 1077
Activity Designer, 1069
Activity Library, 1065
argumenty, 1070
Code Activity, 1069, 1075
CodeActivity, 1075
CompensableActivity, 1087, 1088
Control Flow, 1084
czynnoci, 1082, 1083
czynnoci Collection, 1086
czynnoci Control Flow, 1083
czynnoci Error Handling, 1086
czynnoci Flowchart, 1094
czynnoci Messaging, 1089
czynnoci Primitives, 1084
czynnoci Runtime, 1084
czynnoci Transaction, 1087
DoWhile, 1083
elementy, 1068
Execute, 1077
ForEach, 1083
kolekcje, 1086
NativeActivity, 1077
obsuga kolekcji, 1086
obsuga transakcji, 1087
okno projektowe, 1067
Persist, 1084
projekt, 1065
1240
Skorowidz
1241
Skorowidz
1242
Skorowidz
Q
Query Builder, 909
Query Designer, 94, 952
Query/View Designer, 951, 956, 957
QueryExtender, 801
Queue, 143
Quick Find, 249, 250
All Open Documents, 250
Current block, 250
Current Document, 250
doprecyzowanie wyszukiwania, 251
Entire Solution, 250
Find Next, 251
Look In, 250, 251
podmienianie tekstu, 252
przegldanie wynikw wyszukiwania, 251
Quick Replace, 252
Selection, 250
zasig wyszukiwania, 250
Quick Info, 377
Quick Replace, 250, 252
QuickWatch, 486, 508
R
RAD, 822
RadioButton, 792
RangeValidator, 794
Rapid Application Development, 822
raporty sieciowe, 717
rdbsetup.exe, 513
ReadOnly, 117
Receive, 1090, 1115
ReceiveAndSendReply, 1090, 1091
Record TemporaryMacro, 613
RedirectResult, 808
RedirectToRouteResult, 808
Refactor, 89, 90, 442
refaktoryzacja, 440
Class Designer, 444
Encapsulate Field, 441, 465
Extract Interface, 441, 459
Extract Method, 441, 451
generowanie szkieletu metody, 457
hermetyzacja pl, 465
inteligentne znaczniki, 442
narzdzia, 441
parametry, 462
podgld zmian, 445
1243
Skorowidz
Restart, 485
Rethrow, 1086
return, 118
Return, 117
REVIEW, 395
rczne wizanie kontrolek formularzy Windows, 982
RIA, 904, 940
Ribbon (Visual Designer), 1137
Ribbon (XML), 1137
RibbonControlSizeLarge, 1139
Rich Internet Applications, 940
RichTextContentControl, 1149
Right, 833
RightToLeft, 823
RightToLeftLayout, 823
role, 1164
Web, 1164
Worker, 1164
Root namespace, 206
rootnamespace, 335
routed events, 883
Row.Height, 889
rozbudowywanie edytora kodu, 688
rozgazianie kodu, 135
rozczanie okien narzdzi, 587
rozmieszczanie kontrolek, 275, 284
przyciganie do linii, 276
ukad tabelaryczny, 275
rozpoczynanie sesji diagnostycznej, 489
rozpowszechnianie pikw VSIX, 354
rozszerzalne funkcje pakietu Office, 1131
pami podrczna danych, 1133
panele operacji, 1132
panele zada, 1132
tagi inteligentne, 1134
wstka, 1133
rozszerzenia, 688, 689
rozszerzenia dokumentw Office, 1147
kontrolki formularzy Windows, 1147
kontrolki kontenerowe, 1147
kontrolki-hosty, 1148
pami podrczna danych, 1150
tagi inteligentne, 1153
tworzenie paneli operacji, 1149
wyspy danych, 1150
rozszerzenia edytora, 701
rozwizania, 182
dodawanie projektu, 194
elementy, 188
hierarchia plikw, 185
1244
katalogi, 190
kontrola projektw, 568
lokalizacja kodu rdowego na potrzeby
diagnozowania, 192
plik definicji rozwizania, 185
praca programistw, 182
projekt, 184
projekt startowy, 191
referencje do projektw, 188
stosowanie, 188
tworzenie, 183
waciwoci, 190
waciwoci konfiguracji kompilacji, 193
zalenoci projektu, 191
zarzdzanie, 217
RS, 1169
RSS, 306
Run, 94
Run TemporaryMacro, 613
Run To Cursor, 472, 490
Runtime, 1084
rzutowanie, 132
rzutowanie w d, 123
S
SafeArray, 607
safeitemname, 335
safeprojectname, 335
samodzielne sprawdzanie, 470
Save Dump As, 486, 527
SaveStateComplete, 743
sbyte, 130
scalanie acuchw znakw, 135
Scalar-valued Function, 961
ScaleTransform, 895
scenariusz diagnozowania, 469
Schema View, 967
schematy kodu, 367
menu Outlining, 369
polecenia, 369
tworzenie, 367
ScriptManager, 905, 906, 907
ScriptManagerProxy, 906
Scripts, 716
SDK, 349, 693
Sealed, 121
Search In Files, 249
Select, 163
SELECT, 953, 955
Skorowidz
1245
Skorowidz
skrty klawiaturowe
makra, 631
polecenia, 607
skrypty dziaajce po stronie klienta, 526
skrypty SQL, 962
SliderExtender, 918
SlideShowExtender, 919
SLQ, 909
sowa kluczowe
class, 115
Class, 115
Function, 117
Private, 116
ReadOnly, 117
return, 118
Return, 117
Sub, 117
SmartTag, 1153
SmartTagBase, 1153
SnapLines, 275
SnapToGrid, 275
snippets, 380
SOAP, 75, 1012, 1016, 1031
wyjtki, 1041
SoapException, 1040, 1041
Software Publisher Certificate Test Tool, 349
solution, 182
Solution, 563, 565, 567
skadowe, 567
Solution Explorer, 88, 97, 205, 212, 241, 1049
Add New Solution Folder, 217
ASP.NET Configuration, 217
Copy Web Project, 216
Copy Web Site, 217
ikony, 213
ikony sygnalizacyjne, 216
Nest Related Files, 217
Properties, 217
przyciski paska narzdzi, 216
Refresh, 217
Unhide All, 217
View Class Diagram, 217
View Code, 217
View Designer, 217
wskazwki graficzne, 213
zarzdzanie projektami, 218
zarzdzanie rozwizaniami, 217
zmiana nazw, 447
Solution Property Pages, 190
Solution.Projects, 565, 566
Solution2, 563, 567
1246
Skorowidz
1247
Skorowidz
1248
System.Activities.XamlIntegration, 1081
System.AddIn, 175
System.Array, 142
System.Boolean, 130
System.Byte, 130
System.CodeDom, 175
System.Collections, 143, 175
System.Collections.Generic, 144
System.ComponentModel, 175
System.ComponentModel.Composition, 690
System.ComponentModel.Composition.
ExportAttribute, 690
System.ComponentModel.Composition.Hosting, 690
System.ComponentModel.Composition.Import
Attribute, 690
System.ComponentModel.IComponent, 289
System.Configuration, 175
System.Data, 175
System.Decimal, 130
System.Diagnostics, 175, 260
System.Diagnostics.Contracts, 176
System.Diagnostics.EventLog, 228
System.Double, 130
System.Drawing, 176
System.Dynamic, 170, 176
System.EnterpriseServices, 176
System.Globalization, 176
System.Int16, 130
System.Int32, 130
System.Int64, 130
System.IO, 176
System.Linq, 176
System.Media, 176
System.Messaging, 176
System.Net, 176
System.Net.PeerToPeer, 176
System.NotImplementedException, 683
System.Object, 130
System.Runtime.CompilerServices, 157
System.Runtime.Serialization, 1047
System.Security, 176
System.ServiceModel, 176
System.Single, 130
System.String, 130, 152
System.Threading, 176
System.Threading.Tasks, 176, 523
System.Tuple, 144
System.Web, 177
System.Web.Mvc, 57, 807
System.Web.Services.Protocols, 1041
Skorowidz
System.Web.UI.WebControls, 989
System.Web.UI.WebControls.WebParts, 776
System.Windows, 177, 878
System.Windows.Controls.Page, 924
System.Windows.Data.Binding, 881
System.Windows.Forms, 203, 895
System.Windows.Forms.Control, 290
System.Windows.Forms.Integration, 1143
System.Windows.Forms.UserControl, 290
System.Windows.Media.Imaging, 891
System.Windows.Window, 924
System.Workflow.Activities, 177
System.Xml, 177
System.Xml.Linq.XDocument, 165
System.Xml.Linq.XElement, 165
szablony, 44, 51, 329, 333
instalacja, 339
modyfikacja pliku .vstemplate, 338
opcje eksportowania, 337
parametry, 335
tworzenie, 333
szablony elementw, 340
tworzenie, 340
szablony internetowe, 330
szablony procesu, 36
szablony projektu testw, 399
szablony witryny, 54, 716
szablony XML, 264
generowanie, 265
okno projektowe, 267
projektowanie, 265
widoki szablonu, 266
XML Schema Explorer, 266
szablony XSD, 264
szeregowanie zada, 523
Edit, 89
edytor kodu jzyka C#, 98
edytor kodu jzyka Visual Basic, 99
edytory kodu, 98
edytory tekstu, 98
File, 89
Format, 92
graficzne okna projektowe, 102
Help, 93
konfiguracja, 79
menu, 89
nawigacja, 88, 94
okna projektowe, 102
okno narzdzi, 103
opcje uruchomieniowe, 84
otwieranie starszej aplikacji, 88
pasek menu, 89
paski narzdzi, 94
poruszanie si midzy oknami, 108
Project, 89, 91
projekt, 85
Properties, 104
Query Designer, 94
Refactor, 89, 90
Solution Explorer, 97
standardowy pasek narzdzi, 94
strona startowa, 83
Table, 92
Test, 93
Toolbox, 103
Tools, 92
View, 90
Website, 90
Window, 93
zarzdzanie ustawieniami, 80
zarzdzanie wieloma oknami, 105
rodowisko IDE Macros, 616
T
Tab Order, 841
TabContainer, 919
TabControl, 373, 855
tabele, 942
budowanie zwizkw tabel, 948
definiowanie kolumn, 945
definiowanie struktury, 942
edycja struktury, 942
klucz gwny, 945
modyfikacja definicji, 948
1249
Skorowidz
tabele
okrelanie klucza gwnego, 945
wartoci null, 945
wirtualne tabele, 955
zwizki tabel, 942
tabele HTML, 286
TabIndex, 753
Table, 92, 792, 1167
Table Designer, 946
TableLayoutPanel, 836, 837, 855
Tables and Columns, 949
TableServiceContext, 1177
Table-valued Function, 961
tablice, 141
Array, 142
dostp do elementw, 142
indeks, 141
inicjacja wartoci elementw, 142
liczba elementw, 142
rozmiar, 141
tablice wielowymiarowe, 142
tagi, 693
tagi inteligentne, 1134, 1153
implementacja, 1153
SmartTagBase, 1153
Target Framework, 87
Task, 523
Task List, 393, 578
obiektowy model automatyzacji, 579
zadania uytkownika, 396
zadania zwizane z komentarzami, 394
zadania zwizane ze skrtami, 395
TaskItem, 563, 580
Delete, 579
skadowe, 579
TaskItems, 563, 580
Add, 579
TaskItems2, 563
TaskList, 563, 578, 579, 580
technologia ASP.NET Ajax, 904
technologia ClickOnce, 534
technologia LINQ, 994
technologia PLINQ, 995
technologia Silverlight, 933
technologia Windows Workflow, 1063
Template, 51, 563
Terminate All, 485, 493
TerminateWorkflow, 1085
Test, 93, 401
Test List Editor, 435, 436
1250
Skorowidz
1251
Skorowidz
1252
tworzenie
aplikacje ASP.NET MVC, 805
aplikacje biznesowe, 72
aplikacje do zarzdzania procesem, 1096
aplikacje dziaajce w chmurze, 64, 1170
aplikacje LINQ to SQL, 996
aplikacje okresowo nawizujce poczenie, 71
aplikacje Silverlight, 59, 934
aplikacje Windows, 46
aplikacje WPF uruchamiane w przegldarce, 922
aplikacje XBAP, 922
arkusze stylw, 758
baza danych, 943, 1099
biblioteka dostpu do danych, 1100
czynnoci Code Activity, 1106
czynnoci zoone, 1105
diagram bazy danych, 947
diagram klasy, 293
dodatki dla pakietu Office, 1136
dokumenty XSD, 265
dynamiczne aplikacje, 688
egzemplarz klasy, 131
egzemplarz nieistniejcej klasy, 156
elementy Web Part, 782
formularze sieciowe, 282, 285
formularze Windows, 826
fragmenty kodu, 385
interfejs sieciowy, 46
interfejs uytkownika, 822
katalogi zakadek, 248
klasy, 293
klasy kontrolki uytkownika, 655
klient sieciowy, 53
klucze obce, 948
komponenty, 290
kompozycje, 771
kontroler, 814
kontrolki, 290, 853
kontrolki niestandardowe, 857
kontrolki uytkownika ASP.NET, 802
kreatory, 677
kreatory Add New Item, 680
lista testw, 436
makra, 345, 613
menu, 842
metody, 299
model, 812
model EDM, 69
model procesu, 72
niestandardowa wstka pakietu Office, 1140
niestandardowe strona startowa, 310
Skorowidz
U
UDDI, 1016
udostpnianie interaktywnych aplikacji w rnych
systemach, 933
udostpnianie ustawie dodatku, 662
UIHierarchyItem, 620, 621
ukad kontrolek, 831
ukad strony ASP.NET, 747
opcje pozycjonowania kontrolki, 749
pozycjonowanie bezwzgldne, 748, 751
pozycjonowanie wzgldne, 748
pozycjonowanie za pomoc stylw CSS, 748
ukad pynny, 748, 753
1253
Skorowidz
1254
userdomain, 335
UserLookupActivityLib, 1098
username, 335
using, 128, 367
Using, 153, 380
usuga WAS, 1118
usugi, 71, 74
usugi sieciowe, 75, 514, 1012
format danych, 1012
odkrywanie, 1013
SOAP, 75, 1012
wywoywanie, 1037
XML, 1012
usugi sieciowe ASP.NET, 1012, 1014, 1015
atrybut WebMethod, 1027
atrybut WebService, 1027
definiowanie referencji sieciowej, 1033
DISCO, 1016
formalny opis usugi sieciowej, 1029
HTTP, 1016, 1031
interfejsy, 1026
kod metod sieciowych, 1025
konsumowanie, 1033
metody, 1015
odpowied SOAP, 1032
opis, 1029
pliki usugi sieciowej, 1018
porednik usugi, 1036
projekt, 1017
SOAP, 1016, 1031
SoapException, 1040
sprawdzanie usugi sieciowej, 1031
tworzenie, 1020
tworzenie wyjtku usugi sieciowej, 1040
UDDI, 1016
URI, 1016
web.config, 1018
WebMethod, 1027
WebService, 1027
WebServiceAttribute, 1027
WSDL, 1016, 1029
WSE, 1016
wyjtki, 1039
wywietlanie metody sieciowej, 1031
wywoywanie metody sieciowej, 1032
wywoywanie usugi sieciowej, 1037
XML, 1016
XSD, 1016
danie SOAP, 1031
Skorowidz
V
Validate, 742
ValidationSummary, 793, 794
Variant, 152
VBA, 1130
VBScript, 526
VendorReservationService, 1098
VerticalAlignment, 886
View, 90
View Call Hierarchy, 248
View Class Diagram, 293
ViewportAdornment1, 698
ViewportAdornment1Factory, 698
ViewResult, 808
ViewState, 742, 809
virtual, 122
VirtualPoint, 596, 601
Visual, 863, 879
Visual Basic, 41
automatyczne generowanie kodu do obsugi
waciwoci, 166
kontynuowanie wiersza, 167
usuwanie nieuywanych argumentw z metod
obsugi zdarze, 166
Visual Basic for Applications, 1130
Visual C#, 41
Visual C++, 41
Visual Database Tools, 942
Visual F#, 41
Visual Studio 2010, 23, 30
edycje, 31
strona startowa, 83
subskrypcja pakietu MSDN, 35
Visual Studio 2010 Express, 32
Visual Studio 2010 Image Library, 1140
Visual Studio 2010 Premium, 31, 34
Visual Studio 2010 Professional, 24, 31, 33
Visual Studio 2010 SDK, 349
Visual Studio 2010 Ultimate, 31, 34
Visual Studio Add-in, 637
Visual Studio Agents 2010, 39
Visual Studio Code Gallery, 310
Visual Studio Content Installer, 347
Visual Studio Debugger, 472
Visual Studio Export Template Wizard, 333
Visual Studio Extensibility, 693
Visual Studio Extension, 341
Visual Studio Extension Manager, 341
Visual Studio Gallery, 342
Visual Studio Installer, 342, 540
Visual Studio SDK, 693
Editor Classifier, 695
szablony projektu, 694
Visual Studio Team Explorer 2010, 38
Visual Studio Test Professional 2010, 38
Visual Studio Tools for Office, 1130
Visual styles, 206
Visual Web Developer 2010 Express, 33
void, 117
VSCloudService.exe, 1161, 1164
vsCMElement, 571
1255
Skorowidz
vsCommandExecOption, 652
vsCommandExecOptionDoDefault, 652
vsCommandExecOptionDoPromptUser, 652
vsCommandExecOptionPromptUser, 652
vsCommandExecOptionShowHelp, 652
VSContent, 342
atrybuty, 344
Attribute, 344
Attributes, 344
ContentVersion, 344
definiowanie pliku, 345, 346
Description, 343
DisplayName, 343
FileContentType, 343
FileName, 343
wzy, 343
VSContentInstaller.exe, 347
VSI, 342
plik VSContent, 342
tworzenie pakietw, 342
VSIX, 341, 349
Copy to Output Directory, 351
dodawanie rozszerzenia, 351
edytor manifestw, 352
kompilacja projektu, 353
manifest, 352
projekt, 350
rozpowszechnianie, 354
szablon projektu, 351
testowanie procesu instalacji, 354
vsPaneShowHow, 577
vstemplate, 336, 338, 344
VSTest, 428
VSTO, 1130
dodatki dla pakietu Office, 1136
niestandardowe panele zada, 1143
obsuga zdarze kontrolek, 1141
pami podrczna danych, 1152
vsToolBoxItemFormat, 581
vsToolBoxItemFormatDotNETComponent, 582
VSTS Database Edition, 962
W
W3Cs Web Content Accessibility Guidelines, 734
wariancja, 174
wariancja delegatw, 174
warstwa prezentacji, 860
wartoci null, 945
wartoci zmiennych, 505
warunki punktu przerwania, 500
1256
Skorowidz
WebMethod, 1027
webnamespace, 335
WebPartManager, 777, 779
WebPartManagerMain.Personalization.
ResetPersonalizationState(), 788
WebPartZone, 777, 779
WebRole.cs, 1170
WebService, 1020, 1027
WebServiceAttribute, 1027
Website, 90
wersje Visual Studio 2010, 31
WF, 23, 72, 177, 1062, 1063
When Breakpoint Is Hit, 504
When Hit, 503, 504
Where, 163
WHERE, 909
while, 140
While, 140, 1083, 1084
wiadomoci zwizane ze rodowiskiem, 306
wizanie danych, 861, 909, 974
aplikacje sieciowe, 989
aplikacje WPF, 986
automatyczne generowanie zwizanych
kontrolek Windows Forms, 976
DataGridView, 983
DataList, 990
DetailsView, 989
dostosowywanie odwzorowania rda danych, 980
FormView, 989
GridView, 989, 990
kontrolki sieciowe, 989
kontrolki rda danych, 993
modyfikacja zapytania dla rda danych, 985
modyfikacja zbiorw danych o okrelonym
typie, 981
odwzorowywanie rde danych na kontrolki, 978
proces wizania danych, 975
Repeater, 989
rczne wizanie kontrolek formularzy
Windows, 982
wizanie kontrolek, 986
wybr obiektw rda danych, 978
wybr rda danych, 976
XAML, 987
zoone wizanie danych, 975
zmiana odwzorowywania danych tabeli, 979
wizanie danych w WPF, 881
DataContext, 882
kontekst danych, 882
System.Windows.Data.Binding, 881
1257
Skorowidz
Windows Workflow
czynnoci Primitives, 1084
czynnoci procesw, 1082
czynnoci Runtime, 1084
czynnoci zwizane z komunikatami, 1089
komunikaty, 73
NativeActivity, 1063
obsuga transakcji, 1087
okno projektowe procesw, 1067
pami trwaa, 1117
proces, 72, 1063
proces hosta, 1063
projektowanie procesu, 73
projekty, 1065
silnik uruchomieniowy procesu, 1064
skadniki procesu, 1063
sposoby komunikowania si z pamici trwa, 1118
stan, 73
sterowanie przepywem, 1083
szablony elementw procesw, 1068
szablony projektw, 1065
tworzenia procesw, 1069
usugi uruchomieniowe procesu, 1064
zarzdzanie komunikatami, 1089
zbiory dziaa, 72
Windows Workflow Foundation, 23, 1062, 1063
Windows2, 563, 659
CreateLinkedWindowFrame, 586
WindowsBase.dll, 860
WindowsDefaultBounds, 828
WindowsDefaultLocation, 828
WindowVisibilityEvents, 627, 628
WinForm, 44
WinForms, 271
With, 153
witryny ASP.NET, 54, 714, 715
ASP.NET Development Server, 719
ASP.NET Reports Web Site, 717
ASP.NET Web Service, 716
ASP.NET Web Site, 716
dodawanie plikw, 728
dodawanie stron internetowych, 737
Dynamic Data Entities Web Site, 717
Dynamic Data Linq to SQL Web Site, 717
Empty Web Site, 717
IIS, 718
jzyk programowania, 724
katalogi, 725
kompozycje, 770
komunikacja z serwerem sieciowym przy uyciu
protokou HTTP, 723
1258
Skorowidz
1259
Skorowidz
1260
X
XAML, 44, 48, 53, 61, 271, 280, 863, 866
procesy, 1069
skadnia, 864
wizanie danych, 987
wsppraca midzy czonkami zespou
projektowego, 865
XAML Browser Application, 48, 922
XBAP, 48, 904, 922, 923
Xbox, 45
XDocument, 165
XDR, 264, 265
XElement, 165
XHTML, 55, 288
XML, 164, 165, 993, 1016
XML (kontrolka ASP.NET), 793
XML Schema Document, 1016
XML Schema Explorer, 265, 266
XML Schemat Document, 265
XML-Data Reduced, 264
XmlDataSource, 800
XMLDataSource, 993
XmlSerializer, 1151
xml-stylesheet, 270
XNA, 45
Xor, 136
XSD, 264, 265, 343, 1016
XSLT, 269
Y
year, 335
Z
zachowanie kontrolek, 840
zadania, 523, 579
przeczanie stanu ukoczenia zada, 580
zadania uytkownika, 396
zadania zwizane z komentarzami, 394
HACK, 394
niestandardowe znaczniki w komentarzach, 395
TODO, 394
UNDONE, 394
Skorowidz
1261
Skorowidz
1262