Lập trình trong môi trường .NET part 1

26 303 0
Lập trình trong môi trường .NET part 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Visual studio.NET Visual studio.NET mơi trường tích hợp triển khai phần mềm(Intergrated Development Environmet, IDE) Nó thiết kế để lập tiến trình viết mã, gỡ rối, biên dịch thành assembly cách dễ dàng Visual studio.NET cho bạn ứng dụng multiple-document-interface tinh vi, bạn liên kết thứ để phát triển đoạn mã bạn Nó bao gồm: Một Text Editor : bạn viết đoạn mã C# Text e ditor phức tạp, rành cú pháp C# Tức là, bạn gõ câu lệnh vào, tự động bố trí đoạn bạn, ví dụ cách thụt canh cột dòng lệnh, cho khớp cặp dấu {}, tơ màu từ khố Ngồi ra, thực kiểm tra vài cú pháp bạn gõ gạch dòng mã bị sai Nó cịn có thêm chức đặc biệt Intelliense, tự động hiển thị tên lớp, trường hay phương thức bạn bắt đầu gõ chúng Khi bạn bắt đầu đánh tham số cho phương thức, hiển thị danh sách tham số Màn hình bên đặc trưng với lớp sở NET ListBox : Một Design view editor, cho phép bạn đặt giao diện người dùng control liệu truy cập dự án bạn Khi bạn làm vậy, Visual studio.NET tự động thêm mã C# cần thiết cho tập tin nguồn bạn để tạo control dự án bạn Các cửa sổ hỗ trợ cho phép bạn xem sửa đổi khía cạnh khác dự án bạn Ví dụ có cửa sổ cho bạn thấy lớp hình thành đoạn mã nguồn thuộc tính lớp Windown Form Web Form Bạn sử dụng cửa sổ để khai báo tuỳ chọn biên dịch Biên dịch lịng mơi trường: Để thay cho việc chạy trình biên dịch C# từ dịng lệnh, bạn chọn tuỳ chọn menu để biên dịch Visual Studio.NET gọi trình biên dịch cho bạn Nó chạy chương trình khả thi biên dịch, bạn biết chương trình chạy tốt hay khơng, bạn chọn hai cấu hình xây dựng chương trình khác : debug build release build Một Intergate Debugger hỗ trợ việc gỡ rối xuyên ngơn ngữ khn viên IDE Ngồi bạn gỡ rối lúc nhiều chương trình Bạn chỉnh sửa đoạn mã Text editor Visual tsudio.NET để sữa chữa bug, cho biên dịch lại cho chạy lại chương trình sửa chữa chỗ bỏ lở lỗi Intergated MSDN help Visual studio.NET gọi tài liệu MSDN cho bạn Ví dụ bạn khơng biết ý nghĩa từ khố bạn chọn nhấn F1 gọi MSDN lên để giải thích từ cho bạn Truy cập đến chương trình khác: Nếu tất tiện ích chưa đủ Visual studio.NET gọi tiện ích khác phép bạn kiểm tra sửa đổi khía cạnh khác máy tính bạn hay mạng mà bạn rời khỏi môi trường phát triển Giữa nhiều cơng cụ có sẳn, bạn kiểm tra việc chạy dịch vụ, kết nối liệu , có cửa sổ internet explorer cho phép bạn lướt Web Chắc chắn bạn có kinh nghiệm C++ hay VB trước bạn làm quen với phiên Visual studio.NET, bạn biết nhiều chức không mẽ Tuy nhiên Visual studio.NET liên kết tất chức môi trường phát triển VS Có nghĩa ngơn ngữ bạn sử dụng VS6, bạn tìm thấy vài chức Visual Studio.NET Từ nào, bạn tìm thấy tầm nhìn tổng thể môi trường phát triển thay đổi để điều tiết chức mới, IDE xuyên ngôn ngữ đơn, hợp với NET Có nhiều menu tuỳ chọn công cụ tuỳ chọn mới, nhiều tiện ích khác VS6 đổi tên Vì bạn cần bỏ khoảng thời gian để làm quen với việc trình bày làm chủ Visual studio.NET Mục đích Visual studio.NET bảo đảm bạn làm quen với tất khái niệm việc xây dựng gỡ rối ứng dụng C# sử dụng chức cụ thể, điều mà làm môi trường phát triển ngôn ngữ trước Màn hình sau thể hình Visual studio.NET bạn viết mã: Tạo dự án: Khi bạn cài đặt Visual studio.NET, bạn muốn bắt đầu dự án Với Visual studio.NET, bạn bắt đầu với tâp tin trắng mà bạn gõ vào đoạn mã C# từ điểm bắt đầu Thay vào bạn cho Visual studio.NET biết loại dự án mà bạn muốn tạo, sau tự động tạo đoạn mã C# để tạo thành sường outline cho dự án Và bạn có việc thêm mã bạn vào sường Ví dụ, bạn muốn viết ứng dụng Window GUI, Visual studio.NET bắt đầu tạo tập tin chứa đoạn mã nguồn C# cho phép tạo form Form có khả giao tiếp với Window, tiếp nhận tình Nó cho phép thu nhỏ phóng to thay đổi kích thước Và lúc bạn thêm chức bạn mong muốn có biểu mẫu Nếu ứng dụng bạn dùng theo kiểu dòng lệnh visual studio.NET cho bạn namespace bản, lớp, phương thức Main() để bắt đầu Dĩ nhiên bạn muốn số không, Visual studio.NET cho bạn chọn ứng dụng rỗng Khi bạn tạo dự án, dàn dựng tuỳ chọn biên dịch cần thiết để cung cấp cho trình biên dịch C# có hay khơng để biên dịch ứng dụng dòng lệnh, thư viên, hay ứng dụng Windown Ngoài ra, thư viện lớp sở bạn cần Tuy nhiên bạn sửa đổi cài đặt bạn cần Khi bạn bắt đầu với visual studio.NET lần đầu tiên, bạn thấy start page Đó trang HTML chứa liên kết khác để dẫn bạn đến với trang web hữu ích, cho phép bạn tạo dáng cấu hình Visual studio.NET, mở dự án hữu khởi động dự án Trên hình start page, bạn thấy liệt kê môt số dự án mà bạn làm việc gần nhất: Chọn kiểu dự án: Bạn tạo dự án việc click liên kết thích hợp trang bắt đầu, hay click menu file chọn New/project Hay bạn chọn mẫu hộp dialog New project Các hộp Dialog hỏi bạn muốn loại loại mã sường cần tạo ra, tuỳ chọn biên dịch bạn muốn Những trình biên dịch bạn muốn biên dich mã bạn: C#, VB.NET hay C++ Tuy nhiên, sách đưa tuỳ chọn ứng dụng dự án C# Nếu bạn chọn Windows Application Class Library Windows Control Library ASP.NET Web Application ASP.NET Web Service Web Control Library Console Application Windows Service Empty Project Empty Web Project Bạn lấy mã C# tuỳ chọn biên dịch tạo Một mẫu trống Một lớp NET gọi mã khác Một lớp NET gọi mã khác có giao diện người dùng Một ASP.NET site web sở : trang ASP.NET lớp C# tạo HTML gửi đến trình duyệt từ trang Một lớp C# hành động Web service trọn vẹn Một control gọi lên trang ASP.NET, để tạo mã HTML đưa bề mặt điều khiển thể trình duyệt Một ứng dụng chạy chế độ dòng lệnh hay sổ console Một dịch vụ chạy Windows NT Windows 2000 Khơng có hết Bạn phải viết tất Như empty project cài đặt biên dịch cài vào cấu Nếu bạn chọn Bạn lấy mã C# tuỳ chọn biên dịch tạo trúc trình biên dịch đê tạo mã cho trang AS.NET New Project In Existing Những tập tin dự án cho empty project Folder Các dự án console mới: Khi ta click OK hộp dialog để tạo ứng dụng console Visual studio.NET cung cấp số tập tin, bao gồm tập tin mã nguồn, class1.cs chứa mã sường khởi tạo Hình cho ta thấy mã mà visual studio.NET viết cho ta: Ở có chương trình C# chưa có ý nghĩa thực thi chứa yêu cầu chương trình C# là: namespace, lớp chứa phương thức main() Đoạn mã sẳn sàng để chạy bạn nhấn f5 hay chọn debug/start Tuy nhiên, trước hết phải thêm dòng lệnh để chương trình bạn làm static void Main(string[] args) { // // TODO: Add code to start application here // Console.WriteLine("Hello from all the editors at Wrox Press"); } Nếu bạn biên dich hay chạy dự án, bạn thấy cửa sổ console xuất biến cho bạn thời gian nhỏ để xem tin nhắn Nguyên nhân vấn đề visual studio.NET nhớ cài đặt bạn tạo dự án xếp chúng lại để biên dịch ứng dụng console chạy Sau Windowns nhận cần chạy ứng dụng console khơng có cửa sổ console để chạy Vì thế, Windows tạo cửa sổ console chạy chương trình Ngay chương trình vừa Windowns thấy khơng cần cửa sổ console huỷ Đó tất tính logic chương trình khơng thực giúp ta nhiều ta muốn nhìn thấy kết dự án Một cách tốt để giải vấn đề chèn thêm dòng lệnh Console.Readline() trước rời khỏi phương thức main(): static void Main(string[] args) { // // TODO: Add code to start application here // Console.WriteLine("Hello from all the editors at Wrox Press"); Console.ReadLine(); } Theo cách này, chương trình bạn chạy hiển thị kết Sau đọc dịng lệnh Console.Readline() đợi phím để kết thúc chương trình Thực thi chương trình Tạo tập tin khác: Tập tin mã nguồn class1.cs tập tin mà visual studio.NET tạo cho bạn Nếu nhìn vào thư mục nơi mà bạn yêu cầu Visual studio.NET tạo dự án bạn bạn không thấy tập tin C# mà cấu trúc thư mục sau: Hai thư mục bin obj chứa tập tin biên dịch trung giang Những thư mục obj chứa tập tin tạm thời trung giang tạo ra, thư mục bin chứa assembly biên dịch Những tập tin lại thư mục main dự án, baisicConsoleApp, chứa thông tin dự án tập tin bên Như vậy, Visual studio.NET biết cách phải biên dịch dự án nào, cách để đọc lại lần mở dự án Giải pháp(solution) dự án(project): Điểm quan trọng bạn cần phân biệt giải pháp dự án: Một dự án: tập hợp tập tin mã nguồn tài nguyên(resource) biên dịch đến asembly đơn Ví dụ dự án phải thư viện lớp hay ứng dụng Window GUI Một giải pháp: tập hợp tất dự án để tạo thành gói phần mềm cụ thể Muốn thấy khác biệt, chúng tơi thử lấy ví dụ bạn phân phối ứng dụng cho người sử dụng, gồm nhiều assembly là Thí dụ, giao diện người dùng; có vài control hay thành phần khác gữi thư viện thuộc phần ứng dụng Kể việc có giao diện khác dành cho ngừơi quản lý Mỗi thành phần chứa thành assembly riêng lẽ, Visual studio.NET dự án riêng biệt Tuy nhiên, bạn thực dự án song hành phối hợp với dự án Do đó, xem tiện lợi có khả chỉnh sửa chúng đơn vị visual studio.NET Visual studio.NET cho phép điều cách xem tất dự án giải pháp, đối xử giải pháp đơn vị đọc vào cho phép bạn làm việc Đến bây giờ, ta lỏng lẻo việc tạo dự án.Trên thực tế, ví dụ ta làm việc, Visual studio.NET có giải pháp cho chúng ta- console đặc biệt chứa dự án Chúng ta thấy tình trạng cửa sổ Visual studio.NET Solution Explorer, nơi chứa cấu trúc định nghĩa giải pháp bạn Màn hình dự án chứa tập tin nguồn, class1.cs, tập tin khác, assemblyInfo.cs chứa thông tin mô tả assembly thông tin đến việc biên dịch dự án Solution explorer cho biết assembly mà dự án tham khảo Nếu bạn thay đổi cài đặt bạn tìm thấy solution Explorer góc phải đầu hình Nếu khơng thấy bạn vào view/Solution Explorer để Các giải pháp mơ tả tập tin với sln Vì trường hợp BasicConsoleApp.sln Dự án mơ tả tập tin khác thư mục main dự án Nếu bạn cố sửa tập tin bạn thấy chúng tồn tập tin plain text Thêm dự án vào giải pháp: Chúng muốn cho bạn thấy Visual studio.NET hoạt động với ứng dụng Window với ứng dụng Console Chúng tạo dự án Window mang tên BasicWindow, thay đưa vào giải pháp mới, ta yêu cầu Visual studio.NET đưa vào giải pháp hành BasicConsoleApp Nghĩa ta có giải pháp với ứng dụng Window ứng dụng console Đấy cách tạo trình tiện ích mà bạn muốn chạy Window chạy dịng lệnh command line Có hai cách để thực điều Cách thứ click phải lên tên giải pháp cửa sổ solution explorer, lên trình đơn shortcut chọn add/new project Cách thứ lệnh file/new/new project Cả hai cách điều lên hộp thoại New Project sau: Trên cửa sổ solution explorer ta thấy Visual studio.NET tự động đưa số tham khảo lớp quan trọng chức biểu mẫu window nằm spacename System.Drawing, System.Windows.Forms Ngoài ra, bạn thấy tên tập tin giải pháp đổi thành DemoSolution.sln Nói chung, bạn muốn thay đổi tên tập tin solution explorer nơi tốt để tiến hành thay đổi, Visual studio.NET tự động cho cập nhật tham khảo tập tin tất tập tin thuộc dự án Bạn không nên sử dụng Window Explorer để thay đổi tập tin dự án phá vỡ giải pháp Cài đặt dự án startup Một điểm bạn nên nhớ cho dù bạn có nhiều dự án giải pháp, dự án chạy lúc Khi bạn cho biên dịch giải pháp, tất cá dự án giải biên dịch Tuy nhiên, bạn phải khai báo visual studio.NET biết dự án bắt đầu chạy bạn muốn gỡ rối chương trình Nếu bạn có EXE nhiều thư viên mà EXE gọi đương nhiên EXE dự án khởi động Trong trường hợp chúng ta, ta có hai EXE độc lập, ta cần gỡ rối dự án Bạn bảo Visual studio.NET dự án phải chạy trước, cách click phải lên tên giải pháp để lên trình đơn shortcut, bạn chọn click mục set startup project lên khung đối thoại solution "DemoSolution" Property Pages Bạn cho biết dự án startup hành, dự án lên in đậm cửa sổ Solution Explorer Đoạn mã ứng dụng Window: Một ứng dụng Window chứa đoạn mã khởi động phức tạp nhiều so với ứng dụng chạy console, tạo cửa sổ tiến trình phức tạp Chúng tơi khơng đề cập chi tiết đến đoạn mã ứng dụng window Sẽ có chương dành cho vấn đề Trong tạm thời, cho in bảng liệt kê đoạn mã kết sinh visual studio.NET dự án BasicForm Bạn để ý gọi Form1, tượng trưng cho cửa sổ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace BasicForm { /// /// Summary description for Form1 /// public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.TextBox textBox1; /// /// Required designer variable /// private System.ComponentModel.Container components = null; public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used /// protected override void Dispose( bool disposing ) { if( disposing ) static void Main() { Application.Run(new Form1()); } } } Đọc vào dự án Visual studio.NET Nếu bạn lập trình theo C#, rõ ràng bạn khơng cần đọc đến dự án cũ xưa viết Visual studio 6, C# khơng có Visual studio Tuy nhiên, liên thông ngôn ngữ phần chủ chốt NET Framework, bạn muốn đoạn mã C# bạn làm việc chung với VB.NET C++ Trong tình trạng vậy, bạn cần chỉnh sửa dự án tạo Visual studio Khi đọc vào dự án Workspace viết theo Visual Studio 6, Visual studio.NET cho nâng cấp lên thành giải pháp visual studio.NET Tình trạng lại khác so với dự án C++, VB J++: • • Ví dụ C++, khơng cần thiết thay đổi mã nguồn Tất chương trình C++ cũ xưa cịn hoạt động tốt với trình biên dịch C++ Rõ ràng khơng phải đoạn mã quản lý, biên dịch chạy NET runtime Nếu bạn yêu cầu Visual studio.NET đọc vào dự án cũ xưa C++, đơn giản thêm vào tập tin solution cập nhật tin dự án Nó để yên tập tin dsm dsp không thay đổi để dự án chỉnh sửa Visual studio thấy cần thiết Đối với Visual basic có vấn đề, thay VB.NET Trên VB6, mã nguồn phần lớn bao gồm điều khiển kiện control Đoạn mã lo việc hiển lộ cửa sổ tất control ấy, thành phần VB, lại nằm ẩn bên thành phần cấu hình dự án Ngược lại, VB.NET hoạt động giống C#, cách trưng toàn chương trình mở toang mã nguồn, tất đoạn mã hiển thị cửa sổ tất ô control ấy, nằm tập tin mã nguồn Giống C#, VB NET đòi hỏi việc phải thiên đối tượng thuộc lớp, VB không công nhận khái niệm lớp ý nghĩa Nếu bạn cố thử đọc dự án VB6 với Visual studio NET nâng cấp tồn mã nguồn VB6 Visual studio.NET tự động thực thay đổi tạo giải pháp VB.NET lúc khác nhiều so với mã nguồn VB6 bị chuyển đổi bạn phải kiểm tra để đảm bảo dự án hoạt động đắn Có nhiều khúc đoạn mã Visual studio.NET cịn ghi giải khơng biết làm với đoạn mã này, buộc lịng bạn phải chỉnh sửa tay Khảo sát viết đoạn mã dự án: Folding editor: Điều lý thú Visual studio.NET việc sử dụng folding editor code editor Bạn thử nhìn xem hình sau đây, cho thấy đoạn mã kết sinh ứng dụng console Bạn có nhận thấy phía tay trái hình, vng nhỏ có dấu trừ (-) trong; Những ký hiệu cho biết khối lệnh bắt đầu, bạn click lên ký hiệu này, biến thành dấu cộng (+), khối lệnh teo lại vói hình chữ nhật với dấu chấm Đây có nghĩa bạn chỉnh sửa, bạn tập trung vào vùng bạn quan tâm, cho đóng lại phần đoạn mã bạn không quan tâm Không thế, bạn khơng hài lịng cách editor chọn phần thành khối lệnh, bạn cho biết cách khác cách sử dụng thị tiền xử lý C#, chẳng hạn #region #endregion Thí dụ, ta định ta muốn có khả cho teo lại đoạn nằm phương thức Main(), ta chèn thêm #region #endregion hình dưới: Code editor tự động phát khối #region cho đặt dấu trừ hàng có thị #region Cho bao khối lệnh nằm cặp thị #region #endregion có nghĩa ta muốn cho teo lại tuỳ ý khối lệnh này, hình Bạn thấy dấu cộng với giải ta thêm vào Các cửa sổ khác Ngoài code editor, visual studio.NET cung cấp số cửa sổ khác giúp bạn nhìn xem dự án theo nhiều góc độ khác Cửa sổ Design view Khi bạn thiết kế ứng dụng Window, cửa sổ mà bạn sử dụng nhiều Design view Cửa sổ cho phép bạn hình dung tồn mặt mũi ứng dụng bạn nhìn thấy Thơng thường, bạn sử dụng phối hợp cửa sổ design view với cửa sổ Toolbox Toolbox chứa vô số thành phần NET mà bạn lơi thả dễ dàng lên mặt form bạn Bạn thêm riêng bạn loại control đó, gọi custom control, vào toolbox, cách click phải lên loại toolbox chọn mục Add Tab từ trình đơn shortcut Bạn thêm cơng cụ khác vào toolbox cách chọn mục customize Toolbox trình đơn shortcut Điều hữu ích bạn muốn thêm thành phần COM ActiveX control khơng có toolbox theo mặc định Nếu bạn muốn thêm thành phần COM lên dự án bạn click thành phần lôi thả lên form giống bạn làm với ô control NET Lúc visual studio.NET tự động thêm đoạn mã liên thơng COM cần thiết cho phép dự án gọi hàm control COM Bây bạn muốn thấy toolbox hoạt động Bạn muốn đặt textbox lên dự án BasicForm Bạn cho lên Toolbox cách click lên icon ấn Ctrl+Alt+X, lệnh View/Toolbox Rồi bạn click tiếp lên biểu mẫu chế độ Design Bây biểu mẫu mang dáng dấp sau Tuy nhiên, điểm lý thú ta nhìn vào đoạn mã, ta thấy IDE thêm đoạn mã khởi tạo đối tượng textbox đặt lên biểu mẫu Có thêm biến thành viên lớp Form1: public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.TextBox textBox1; Ngoài ra, đoạn mã thêm vào phương thức InitializeComponent(), khởi gán thành phần Hàm gọi contructor Form1: /// /// Required method for Designer support - not modify /// the contents of this method with the code editor /// private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(8, 8); this.textBox1.Name = "textBox1"; this.textBox1.TabIndex = 0; this.textBox1.Text = "textBox1"; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 268); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.textBox1}); Nếu muốn, bạn thêm tay đoạn mã vào tập tin mã nguồn, Visual studio.NET phát đoạn mã bạn cho lên control tương ứng Tuy nhiên, tốt hết thêm mắt control Visual studio.NET lo phần lại thêm đoạn mã thích hợp Việc click vào toolbox click tiếp lên biểu mẫu, điều chỉnh vị trí kích thước control xem nhanh suy nghĩ gõ vào lệnh Một lý nên thêm mắt control Visual studio.NET yêu cầu đoạn mã thêm vào tay phải tuân thủ số qui tắc, mà có thẻ bạn khơng tn thủ Đặc biệt, bạn để ý phương thức InitializeComponent() lo khởi gán textbox có dòng giải đầu cảnh cáo bạn chớthay đổi Nói thế, cẩn thận, bạn hiệu chỉnh chẳng hạn giá trị vài thuộc tính control hiển thị khác Nói tóm lại, muốn tiến hành thay đổi thế, bạn phải có kinh nghiệm dày dạn phải cẩn thận hiểu muốn Xem tồn mã BasicForm BasicForm Thực thi chương trình Cửa sổ properties Một cửa sổ khác, gọi Properties, xuất xứ từ IDE VB Chúng ta biết cửa sổ properties hiển thị cho phép bạn sửa đổi hầu hết giá trị khởi tạo thuộc tính control mà Visual studio.NET có khả phát cách đọc mã nguồn bạn Cửa sổ Properties thấy kiện Bạn nhìn thấy kiện cách click lên icon giống tia sáng đầu cửa sổ Trên đầu cửa sổ Properties list box cho phép bạn chọn control để quan sát chỉnh sửa Chúng tơi chọn Form1, lớp form dự án BasicForm, cho chỉnh sửa thuộc tính text " Basic Form - SAMIS hello" Nếu bạn cho kiểm tra lại mã nguồn, bạn thấy chỉnh sửa mã nguồn, thông qua giao diện thân thiện hơn: this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 268); this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1}); this.Name = "Form1"; this.Text = "Basic Form - Hello!"; Không phải tất thuộc tính mà bạn thấy cửa sổ Properties ghi rõ mã nguồn Rõ ràng bạn thay đổi trị thuộc tính cửa sổ Properties câu lệnh cài đặt rõ thuộc tính xuất lên mã nguồn bạn ngựơc lại Cửa sổ Properties xem cách tiện lợi để có nhìn tất thuộc tính control Cửa sổ Class view Khác với cửa sổ Properties, cửa sổ Class view xuất xứ từ môi trường triển khai Visual studio.NET, cửa sổ class view xem trang tab cửa sổ Solution Explorer, cho thấy đẳng cấp namespace lớp đoạn mã bạn Nó cho tree view mà bạn bung để xem namespace chứa lớp nào, lớp chứa thành viên Một chức hay class view bạn click phải lên tên mục tin bạn thâm nhập vào đoạn mã nguồn, bạn chọn mục Go To Definition, trình đơn shortcut, code editor lên đoạn mã định nghĩa mục tin Hoặc bạn double click lên mục tin bạn kết Nếu bạn muốn thêm phần tử cho Form : Bạn click phải tên form sau chọn add phần tử bạn muốn thêm(Add Method, Add Property, Add Indexer Add Field Pin Buttons Khi khảo sát Visual studio.NET, bạn nhận thấy có nhiều cửa sổ mà chúng tơi mơ tả có vài chức mang dáng dấp công cụ Đặc biệt, ngoại trừ code editor, cửa sổ docking Có icon pin cạnh nút minimize nằm góc phải phía cửa sổ Icon chúc đầu xuống, cửa sổ hoạt đọng cửa sổ bình thường mà bạn quen Nhưng icon nằm ngang, cửa sổ lên có focus Nhưng focus, nghĩa trỏ vào chỗ khác, cửa sổ biến mất, thu lại qua phía tay phải tay trái Xây dựng dự án Building, Compiling Making Trước ta sâu vào việc xem xét lựa chọn khác liên quan đến việc xây dựng dự án, thiết tưởng ta nên làm sáng tỏ từ ngữ liên quan đến tiến trình biến mã nguồn bạn thành loại đoạn mã khả thi Bạn thường biết đến từ: compiling, building, making Nguyên nhân từ ngữ khác việc chuyển mã nguồn thành mã khả thi đòi hỏi không bước mà Trên C++ chẳng hạn tập tin nguồn phải biên dịch riêng lẽ, cho tập tin đối tượng, mang dáng dấp đoạn mã khả thi tập tin đối tượng liên hệ với tập tin nguồn Muốn cho mã kết sinh tập tin đối tượng phải liên kết lại tiến trình mà người ta gọi linking Tiến trình phối hợp thường gọi xây dựng (building) đoạn mã theo từ ngữ windows Tuy nhiên, theo từ ngữ C#, trình biên dịch phức tạp nhiều có khả đọc xử lý tất tập tin nguồn khối Do đó, C# khơng có giai đoạn liên riêng lẽ nên phạm trù C# từ compiling building coi giống Còn từ making có nghĩa xây dựng khơng dùng phạm trù C# Từ xuất xứ từ máy tính mainframe, cho biết dự án gồm nhiều tập tin nguồn, có tập tin riêng lẽ viết chứa thị dành cho trình biên dịch biết cách xây dựng dự án Tập tin riêng rẽ gọi make file, từ tiếp tục dùng chuẩn Unix Linux Các tập tin make thường khơng cần đến Windows, bạn viết chúng yêu cầu Visual Studio.NET kết sinh chúng bạn muốn Debug build Release Build Khi bạn gỡ rối chương trình, bạn thường muốn chương trình khả thi có cách ứng xử khác bạn cho phân phối chương trình Khi phân phối chương trình ngoại trừ việc chương trình phải chạy tốt khơng có lỗi, cịn phải có kích thước nhỏ tốt phải chạy thật nhanh Rất tiết địi hỏi khơng hợp với nhu cầu gỡ rối chương trình, với nhiều lý sau Tối ưu hoá Hiệu cao đoạn mã phần lớn việc trình biên dịch tối ưu hố đoạn mã Đây có nghĩa biên dịch, trình biên dịch nhìn vào mã nguồn xem nhận diện đoạn mà thay đoạn mã khác cho kết y chang tối ưu hơn, chạy hiệu double InchesToCm(double Ins) { return Ins*2.54; } // later on in the code Y = InchesToCm(X); Trình biên dịch thay câu lệnh bởi: Y = X * 2.54; Hoặc chẳng hạn trình biên dịch gặp phải đoạn mã sau: { string Message = "Hi"; Console.WriteLine(Message); } Thì thay Console.WriteLine("Hi"); Như vậy, ta tiết kiệm nơi có khai báo tham khảo đối tượng cách không cần thiết Các ký hiệu Debugger bạn gỡ rối chương trình, thường bạn cần xét đến trị biến mà bạn khai báo chúng theo tên mã nguồn Khổ nỗi chương trình khả thi EXE lại khơng chứa tên biến, trình biên dịch cho thay vị ký ức .NET thay đổi tình trạng cách cho trữ vài tên assembly số nhỏ liên quan đến lớp phương thức Các thị gỡ rối extra mã nguồn Khi bạn gỡ rối chương trình, đoạn mã bạn có phụ thêm dịng lệnh cho phép hiển thi thơng tin cốt tử liên quan đến gỡ rối Lẽ dĩ nhiên trước gữi phân phối chương trình bạn, bạn muốn cho gỡ bỏ dòng lệnh extra Bạn làm điều tay tốt bạn cho đánh dấu dòng lệnh làm trình biên dịch bỏ qua biên dịch bỏ qua biên dịch đoạn mã cần gửi Chúng ta biết qua phần tiền thị (preprocessor directive), thị dùng phối hợp với thuộc tính Conditional, xem điều kiện biên dịch Cuối bạn thấy trình biên dịch phiên dùng cho sản phẩm phần mềm khác so với phiên gỡ rối Visual studio.NET thực việc cách trữ nhiều chi tiết để hỗ trợ hai loại xây dựng khác Những chi tiết khác thông tin xây dựng đựoc gọi Configuration Khi bạn tạo dự án mới, Visual studio.NET tự động tạo cho bạn hai cấu hình cho mang tên Debug Release : • • Debug configuration: thường cho biết cho cần tối ưu hóa, thơng tin gỡ rối extra hiệu chỉnh sửa đoạn mã khả thi, trình biên dịch giả định thị tiền xử lý debug diện trừ ghi rõ #undefined mã nguồn Release configuration: thường cho trình biên dịch biết phải tối ưu hoá khơng có thơng tin extra liên quan đến gỡ rối trình biên dịch khơng giả định thị tiền xử lý diện đoạn mã Chọn cấu hình Một câu hỏi đặt visual studio.NET trữ chi tiết hai cấu hình, cấu hình chọn xây dựng dự án Câu trả lời có cấu hình dịch mà Visual studio.NET phải dùng đến Theo mặc nhiên, bạn tạo dự án, cấu hình debug cấu hình dịch Bạn thay đổi cấu hình dịch cách lệnh Build/Configuration Manager để lên khung đối thoại Configuration Manager, chọn mục Debug Release ô liệt kê Active solution Configuration cơng cụ có liệt kê cho phép bạn chọn debug Release Copnfiguration Manager Hiệu đính cấu hình Chọn dự án muốn chỉnh sửa cửa sổ Solution explorer, lệnh project / Properties, click phải dự án để lên trình đơn short cut, bạn chọn mục properties Lúc khung đối thoại Properties pages lên Khung đối thoại chứa tree view phía tay trái cho phép bạn lựa chọn nhiều vùng khác để quan sát chỉnh sửa Chúng cho thấy tất lĩnh vực cho thấy vài lĩnh vực quan trọng Ở hình cho thấy hai mắt nút cấp cao: Common properties Configuration properties Ta thấy Common properties/General dự án Basic ConsoleApp Bạn chọn tên assembly cần kết sinh Mục chọn Output type là: Console application, window application class library Bạn thay đổi loại assembly bạn muốn xem vơ lý, lúc ban đầu bạn chọn khung đối thoại New Project Hình bên cho thấy cấu hình xây dựng : Trên đầu khung đối thoại, bạn thấy có list box " Configuration" cho phép bạn khai báo cấu hình bạn muốn quan sát Trong trường hợp cấu hình Debug, ta thấy thị tiền xử lý DEBUG TRACE giả định có, việc tối ưu hố khơng thực thơng tin gỡ rối kết sinh Nhìn chung, vào chi tiết liên quan đến cấu hình, phần lớn trưịng hợp bạn phải điều chỉnh chúng Tuy nhiên bạn phải hiểu để chọn cấu hình tuỳ theo việc bạn xây dựng dự án bạn điều bổ ích biết tác dụng cấu hình khác Gỡ rối chương trình Trên C#, ngôn ngữ trước NET, kỹ thuật việc gỡ rối chuơng trình đơn giản đặt chốt dừng, sử dụng chúng để xem xét việc xảy đoạn mã bạn điểm thi hành chương trình Các chốt ngừng: Bạn đặt chốt ngừng từ Visual studio.NET lên dòng đoạn mã thi hành Cách đơn giản click lên dòng lệnh code editor, biên trái màu xám Dòng lệnh đổi màu với chấm tròn biên trái Lúc chốt ngừng đặt để hàng này, làm cho việc thi hành tạm ngừng Debugger đạt đến hàng chuyển quyền điều khiển cho debuger Nếu bạn click chấm trịn dịng lệnh xem chốt ngừng bị gỡ bỏ, dòng lệnh trở lại màu bình thường văn Các cửa sổ quan sát Khi chốt ngừng đạt đến, thường bạn muốn khảo sát Lúc hình chữ nhật màu vàng lên cho biết trị biến Tuy nhiên, bạn lại muốn sử dụng sổ Watch window để xem nội dung biến cửa sổ dạng thẻ Cuối hình code editor loạt thẻ cửa sổ Local, Auto, Watch, Call stack, Breakpoint, Command, Output Các cửa sổ lên chương trình chạy điều khiển Debugger Có loại cửa sổ kiểu tab dùng điều khiển biến khác nhau: Autos: cho biết tình trạng vài biến truy xuất chương trình thi hành Locals: Cho biết tình trạng biến truy xuất phương thức thực thi Watch : cho biết tình trạng biến mà bạn khai báo rõ cách gõ vào tên biến cửa sổ Watch Biệt lệ Biệt lệ cho phép bạn thụ lý cách thích ứng điều kiện sai lầm xảy ứng dụng mà bạn muốn phân phối Nếu sử dụng đắn, biệt lệ bảo đảm ứng dụng bạn kiểm soát tốt hoạt động người sử dụng khơng phải phiền lịng nhận khung đối thoại mang tính q kỹ thuật Tuy nhiên, điều phiền tối gỡ rối, biệt lệ gây khơng khó khăn cho bạn Có hai vấn đề: Nếu biệt lệ xảy ra, liền sau bạn gỡ rối thường bạn khơng muốn biệt lệ tự động thụ lý chương trình bạn Thay vào đó, bạn muốn Debugger nhập để xem biệt lệ xảy ra, để gỡ bỏ lý sai lầm trước phân phối sản phẩm Nếu biệt lệ xảy mà bạn chưa viết hàm thụ lý biệt lệ này, NET runtime tìm tiếp hàm thụ lý biệt lệ Tuy nhiên, đến NET Runtime nhận khơng có hàm nào, cho chấm dứt chương trình Và lúc này, cửa sổ Call Stack biến khơng cịn để bạn xem xét trị biến, chúng ngồi phạm vi ... // // textBox1 // this.textBox1.Location = new System.Drawing.Point(8, 8); this.textBox1.Name = "textBox1"; this.textBox1.TabIndex = 0; this.textBox1.Text = "textBox1"; // // Form1 // this.AutoScaleBaseSize... this.textBox1 = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(8, 8); this.textBox1.Name = "textBox1"; this.textBox1.TabIndex... "textBox1"; this.textBox1.TabIndex = 0; this.textBox1.Text = "textBox1"; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13 ); this.ClientSize = new System.Drawing.Size(292,

Ngày đăng: 20/10/2013, 16:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan