24/05/2018, 14:26

Tạo sưu liệu XML bằng chú thích

Ngôn ngữ C# hỗ trợ kiểu chú thích mới, bằng ba dấu gạch chéo ( /// ). Trình biên dịch C# dùng phần chú thích này để tạo thành sưu liệu XML. Ta có thể tạo tập tin sưu ...

0

Ngôn ngữ C# hỗ trợ kiểu chú thích mới, bằng ba dấu gạch chéo (

///
). Trình biên dịch C# dùng phần chú thích này để tạo thành sưu liệu XML.

Ta có thể tạo tập tin sưu liệu XML này bằng mã lệnh, ví dụ như để tạo sưu liệu cho ứng dụng FileCopier ở trên ta gõ các lệnh sau :

csc filecopier.cs 
/r:System.Windows.Forms.dll 
/r:mscorlib.dll
/r:system.dll 
/r:system.configuration.dll 
/r:system.data.dll
/r:system.diagnostics.dll 
/r:system.drawing.dll
/r:microsoft.win32.interop.dll
/doc:XMLDoc.XML

Ta cũng có thể tạo sưu liệu XML trực tiếp ngay trong Visual Studio .NET, bằng cách nhấn chuột phải lên biểu tượng của dự án và chọn ‘Properties’ để hiện lên hộp thoại thuộc tính của dự án (Property Pages), sau đó chọn mục Configuration Properties Build rồi gõ tên tập tin sưu liệu XML cần tạo ra vào dòng XML Document File. Khi biên dịch dự án, tập tin sưu liệu XML sẽ tự động được tạo ra trong thư mục chứa dự án. Dưới đây là một đoạn mã được trích ra từ tập tin sưu liệu XML được tạo ra từ ứng dụng FileCopier trên :

<?xml version="1.0"?>
<doc>
<assembly>
<name>FileCopier</name>
</assembly>
<members>
<member name="T:FileCopier.Form1">
<summary>
Form demonstrating Windows Forms implementation
</summary>
</member>
<member name="F:FileCopier.Form1.components">
<summary>
Required designer variable.
</summary>
</member>
<member name="F:FileCopier.Form1.tvwTargetDir">
<summary>
Tree view of potential target directories
</summary>
</member>
<member name="F:FileCopier.Form1.tvwSource">
<summary>
Tree view of source directories
includes check boxes for checking chosen files or directories
</summary>
</member>
<member name="F:FileCopier.Form1.txtTargetDir">

Do đoạn mã trên được định dạng dưới kiểu dưới dạng XML, do đó không thuận tiện lắm khi quan sát. Ta có thể viết một tập tin theo định dạng XSLT để chuyển từ định dạng XML sang HTML.

Một cách đơn giản hơn để tạo sưu liệu XML thành các báo cáo HTML dễ đọc hơn là dùng chức năng Tool Build Command Web Page …, VS.NET sẽ tự động tạo ra một tập các tập tin sưu liệu HTML tương ứng với tập tin XML. Dưới đây là giao diện của màn hình sưu liệu ứng dụng FileCopier được tạo bởi VS.NET :

Sưu liệu dưới dạng Web được tạo bởi Visual Studio .NET

Khi ứng dụng đã thực thi hoàn chỉnh, vấn đề bây giờ là làm cách nào để có thể triển khai nó. Với các ứng dụng đơn giản, chỉ cần chép assemblycủa ứng dụng đó sang máy khác và chạy.

Ví dụ ta dịch ứng dụng FileCopier thành tập tin chạy FileCopier.exe, sau đó chép sang máy khác và chạy nó. Ứng dụng sẽ thực thi tốt.

Việc triển khai các dự án ( Deployment Projects )

Đối với các ứng dụng thương mại lớn hơn, khách hàng muốn ứng dụng được cài đặt vào một thư mục cụ thể với biểu tượng đặc trưng của họ…, khi đó cách đơn giản trên chưa đủ. Visual Studio .NET đã cung cấp thêm một phần mở rộng khác để hỗ trợ việc cài đặt và triển khai (Setup and Deployment Projects) ứng dụng.

Giả sử ta đang ở trong một dự án nào đó, ta chọn FileAdd Project New Project Setup and Deployment Projects. Ta sẽ thấy hộp thoại sau :

Hộp thoại tạo dự án mới

Ta có nhiều nhiều kiểu dự án triển khai khác nhau :

- SetupProject: Tạo ra tập tin cài đặt, tập tin này có thể tự cài đặt các tập tin và tài nguyên của ứng dụng .

- CabProject:Giống như một tập tin ZIP, dự án loại này nén các tập tin thành một gói ( Package ) . Chọn lựa này có thể kết hợp với các loại khác.

- MergeModule: Nếu ứng dụng của ta có nhiều dự án cùng dùng chung một số tập tin, thì sự chọn lựa này giúp ta trộn chúng thành các module trung gian chung. Ta có thể tích hợp các module này vào các dự án khác.

- SetupWizard: Giúp thực hiện một trong các loại dự án trên được dễ dàng.

- WebSetupProject: Giúp triển khai các dự án Web.

Để hiểu rõ, ta sẽ thử tạo một dự án triển khai kiểu Cab Project, thường thì khi dự án của ta có nhiều tập tin .Html, .Gif hay một số loại tài nguyên khác mà cần phải kèm theo với ứng dụng thì ta triển khai dự án theo kiểu này. Thêm dự án loại Cab Project vào dự án với tên là FileCopierCabProject.

Dự án được thêm vào ứng dụng Hai kiểu thêm trong dự án loại CAB

Nhấn chuột phải trên dự án triển khai FileCopierCabProject. Có 2 dạng đóng gói tập tin CAB : Project Output… và File… . Ở đây ta chọn Add Project Output, hộp thoại chọn lựa kiểu kết xuất cho dự án ( Add Project Output Group ) xuất hiện :

Lựa chọn loại kết xuất để đóng gói.

Ở đây, ta sẽ chọn loại PrimaryOutputđể tạo tập tin FileCopier.exe cho ứng dụng FileCopiercủa ta. Khi chạy chương trình thì .NET sẽ tạo ra một gói có tên là FileCopierCabProject.CAB.Trong gói này có chứa 2 tập tin :

FileCopier.exe : tập tin chạy của ứng dụng

Osd8c0.osd : tập tin này mô tả gói .CAB theo dạng XML.

tả XML t ập tin . CAB

<?XML version="1.0" ENCODING='UTF-8'?>
    <!DOCTYPE SOFTPKG SYSTEM
    "http://www.microsoft.com/standards/osd/osd.dtd">
    <?XML::namespace
    href='http://www.microsoft.com/standards/osd/msicd.dtd'
    as="MSICD"?>
    <SOFTPKG NAME="FileCopierCabProject" VERSION="1,0,0,0">
    <TITLE> FileCopierCabProject </TITLE>
    <MSICD::NATIVECODE>
    <CODE NAME="FileCopier">
    <IMPLEMENTATION>
    <CODEBASE FILENAME="FileCopier.exe">
    </CODEBASE>
    </IMPLEMENTATION>
    </CODE>
    </MSICD::NATIVECODE>
    </SOFTPKG>
    

Việc cài đặt dự án ( Setup Project )

Để tạo được chương trình tự động cài đặt cho ứng dụng, ta thêm dự án khác và chọn kiểu là SetupProject,dự án kiểu này khá linh động. Nó tạo thành tập tin có phần mở rộng là MSI, có thể tự cài đặt ứng dụng của ta lên máy tính khác.

UI phục vụ chủ yếu cho việc cài đặt là cửa số ViewMenu:

Giao diện người dùng View Menu.

Ứng với mỗi chọn lựa trên View Menu, ta sẽ thấy các hiển thị tương ứng trong hai cửa sổ bên trái. Chẳng hạn như, khi ta chọn ViewFileSystemthì ở bên trái sẽ hiện ra hai cửa sổ như như hình bên dưới, ta có thể thêm các tập tin hay tài nguyên liên quan đến ứng dụng theo ý muốn :

Cửa sổ File System của ứng dụng FileCopier

Triển khai trên các vị trí khác nhau

Mặc nhiên thì ứng dụng sẽ được cài đặt trên thư mục sau :

[ProgramFilesFolder][Manufacturer][Product Name.
    

ProgramFilesFolder: thư mục Program Files trên máy người dùng

Manufacturer: tên của nhà sản xuất

Product Name: tên của ứng dụng

Ta có thể thay đổi các thông số này trong cửa sổ thuộc tính FileCopierSetupProject hoặc trong quá trình cài đặt.

Tảo biểu tượng của ứng dụng trên màn hình Desktop

Để tạo biểu tượng cho ứng dụng, ta chỉ cần chọn ApplicationFolderPrimary outputfromFileCopier(Active)ở cửa sổ bên trái, sau đó nhấn chuột phải và chọn CreateShortcuttoPrimaryoutputfromFileCopier(Active).Ta hiệu chỉnh đường dẫn của biểu tượng cho thích hợp.

Thêm các mục vào thư mục My Documents

Ta cũng có thể thêm các tài liệu cần thiết vào thư mục MyDocumentstrên máy của người dùng khi cài đặt, bằng cách đặt chúng vào thư mục User’sPersonalData Folder

Tạo biểu trượng trong cửa sổ Start Menu

Để thêm các thành phần khác của ứng vào cửa sổ Start/Programs, ta thêm chúng vào thư mục User’sProgramMenuở cửa sổ bên phải.

Thêm các chức năng cài đặt khác cho ứng dụng triển khai

Ngoài bốn mục được liệt kê trong hình trên, ta có thể bổ sung thêm các thư mục khác, như hình dưới đây :

Bổ sung các thư mục trong cửa sổ File System

Các thành phần khác

Ta đã khảo sát qua cách cài đặt dùng FileSystemtrong MenuView, nay ta tìm hiểu thêm một số cách khác.

Tạo các thay đổi trong sổ đăng ký ( Registry )

Cửa sổ đăng ký của View Menu cho phép làm cho trình cài đặt của chúng ta tạo ra các thay đổi trong sổ đăng ký chương trình trên các máy cài đặt ứng dụng. Nhấn chuột phải trên các thư mục được liệt trong hình dưới đây để hiệu chỉnh sổ đăng ký theo ý muốn :

Hiệu chỉnh sổ đăng ký Phải rất thật cẩn thận khi cài đặt sổ đăng ký. Trong hầu hết các ứng dụng .NET đều không cần thiết phải liên quan đến sổ đăng ký, .NET quản lý ứng dụng không cần dùng sổ đăng ký (Registry).

Quản lý giao diện người dùng trong quá trình cài đặt

Để có thể kiểm soát các chữ hay giao diện đồ họa hiển thị trong suốt quá trình cài đặt ứng dụng, ta chọn mục User Interface trong View Menu. Hình dưới đây thể hiện luồng công việc trong quá trình cà đặt ứng dụng :

Luồng công việc trong quá trình cài đặt

Khi ta nhấn chuột phải trên một bước nào đó trong tiến trình cài đặt và chọn Propertiesthì sẽ hiện lên một cửa sổ tương ứng với mục đó, nhờ hộp thoại thuộc tính này ta có thể hiệu chỉnh các chuỗi hay ảnh hiển thị thích hợp. Ta cũng có thể thêm hay bớt đi một bước trong luồng công việc cài đặt. Ví dụ hộp thoại thuộc tính của mục Welcome.

Cửa sổ thuộc tính của mục Welcome trong quá trình cài đặt

Hiệu chỉnh thêm cho quá trình cài đặt

Nếu quá trình cài đặt trong cửa sổ User Interface vẫn không đủ thỏa mãn nhu cầu cài đặt của ứng dụng, thì ta có thể tự hiệu chỉnh các thông số cho tiến trình cài đặt : điều kiện để chạy tiến trình cài đặt … Ta chọn mục Custom Option trong View Menu để thực hiện mục đích này.

Kết thúc việc tạo chương trình cài đặt

Sau khi hoàn tất mọi hiệu chỉnh, ta chỉ cần chạy ứng dụng và .NET sẽ tạo ra một tập tin cài đặt MSDđể cài đặt ứng dụng của ta.

0