~~SLIDESHOW~~ ====== Visual Studio - Wstęp ====== [[http://www.microsoft.com/visualstudio/plk/visual-studio-2013|Visual Studio 20133 - co nowego]] Wersje: * Express * Professonal * Premium * Ultimate [[http://www.microsoft.com/visualstudio/en-us/products/2010-editions/product-comparison#expressCompareTable|Porównanie zawartości wersji VS]] \\ [[http://msdn.microsoft.com/en-US/library/hs24szh9%28v=vs.100%29.aspx|Visual C++ Editions]] - porównanie ===== ===== **Technologie** : .NET Framework (4.0), Windows Presentation Foundation (WPF, Avalon), Extensible Application Markup Language (XAML), Windows Communication Foundation (WCF), Silverlight, Windows Forms, ASP.NET, Ajax, Language-Integrated Query (LINQ), SQL Server Database Engine, Windows Azure platform **Języki** : Visual Basic, Visual C#, Visual C%%++%%, Visual F#, JScript **Aplikacje** : Console, Windows, Web, Office, Mobile, SharePoint, Cloud, Data (ADO.NET) ===== Kompilatory ===== * C#, **csc.exe** \\ Położenie: Microsoft.NET\Framework\ \\ np. c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe \\ [[http://msdn.microsoft.com/en-us/library/6s2x2bzy.aspx?appId=Dev10IDEF1&l=EN-US&k=k%28VS.NEWPROJECT%29&rd=true|C# compiler options]] * C%%++%%, **cl.exe** \\ np. c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe \\ [[http://msdn.microsoft.com/en-us/library/19z1t1wy%28v=vs.71%29.aspx|C++ comiler options]] CL [option...] file... [option | file]... [lib...] [@command-file] [/link link-opt...] /* **vcvars32.bat** - konfiguruje środowisko \\ np.: "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" */ ===== Kompilator C# - csc.exe ===== csc File.cs csc /out:My.exe File.cs Tworzenie biblioteki: csc /target:library File.cs Optymizacja + DEBUG symbols csc /define:DEBUG /optimize /out:File2.exe *.cs csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs Brak pośrednich plików obiektowych (.obj) -> C# nie potrzebuje linkera. ===== Zarządzanie Projektami ===== * **Solution** - lista projektów (zależności między nimi, kolejność kompilacji) + katalogi, pliki.\\ * **Projekt ** - określa relacje miedzy plikami i konfigurację budowania + katalogi, biblioteki (references), inne pliki jak np. ikony (resources) * **Item** - plik, referencja (np. biblioteki), połączenia z bazami danych.\\ * Szablony Projektów : File -> New -> Project ===== Solution Explorer ===== Solution Explorer (Ctrl+Alt+L)\\ Konfiguracja całego rozwiązania i poszczególnych projektów.\\ * Dodawanie/Usuwanie/Wyłaczenia plików, "itemów", zasobów * Ładowanie/ wyłączanie projektów * Konfiguracja budowania projektów * Linki (dowiązania) vs. "prawdziwe" pliki (Remove vs. Delete). Dowolny plik może pojawiać się w wielu projektach. ===== Konfiguracja rozwiązania i projektów ===== Pliki definiujące projekty: * .sln - metadane definiujące rozwiązanie: lista projektów, plików poza projektami i relacja budowania\\ * .suo - ustawienia środowiska (specyficzne dla danego użytkownika)\\ * .*proj (.csproj, .vcxproj)\\ ===== Szablony projektów C++ ===== * Win32 Project, Win32 Console Application * CLR : Konsolowa aplikacja, Class library, Windows Forms, WF Control Lib. * ATL (Active Template Lib.): szablon pomocny w tworzeniu obiektów COM * MFC (Microsoft Foundation Classes): DLL, Aplication, Active X * Pusty projekt, Test Project, Makefile Project ===== Szablony projektów C#/Basic ===== * Empty, Class Library, Console Application, Windows Forms, WF Control Library, Windows Service * WPF: Application, User Control Library, Browser Application, Custom Control Library * WEB: ASP.NET Web Application, MVC 2 Web Application, Dynamic Data Linq to SQL Web Application * Office: Excel/Outlook/PowerPoint/Word/Visio aad-in * SharePoint: Sequential Workflow, State Machine Workflow, ... * Workflow : Console Application, Service Application, Activity Library * Cloud Service/Enable Windows Azure Tools, Silverlight templates, Reporting ===== Pozostałe szablony projektów ===== * Setup and Deployment: InstallShield 2010, Setup Project, Visual Studio Add-in, Web Setup * SQL Server/SQL Server 2005/2008 Database Project * Test Projects - automatyzacja testów * Modeling Project * Własne szablony, szablony on-line [[http://msdn.microsoft.com/en-us/library/0fyc0azh.aspx|Default Project Templates in Visual Studio]]\\ [[http://msdn.microsoft.com/en-us/library/eehb4faa%28v=vs.100%29.aspx|Template parameters]]\\ ===== Szablony przedmiotów (Items) ===== Project->Add New Item \\ Project->Add Class\\ ===== Podstawowe okna ===== View -> * * Solution Explorer * Object Browser - symbole dostępna na użytek projektu, Class View - lista symboli w projekcie * Toolbox * Properties * wiele innych ===== Żródła ===== * [[http://msdn.microsoft.com/en-us/default|MSDN]] * James Avery, "Visual Studio Hacks" - spore fragmenty dostępne w [[google>google books "Visual Studio Hacks"|Google Books]] ===== Ćwiczenia ===== [[vs_wstep_lab|Ćwiczenia do wykonania na pracowni]]