39
Chương 1: Phát triển ứng dụng
Bạn cũng có thể xây dựng một module từ nhiều file nguồn, cho kết quả là một file (module)
chứa MSIL và siêu dữ liệu cho các kiểu chứa trong tất cả file nguồn. Ví dụ, lệnh:
csc /target:module ConsoleUtils.cs WindowsUtils.cs
biên dịch hai file nguồn ConsoleUtils.cs và WindowsUtils.cs thành một module có tên là
ConsoleUtils.netmodule.
Tên của module được đặt theo tên file nguồn đầu tiên trừ khi bạn chỉ định cụ thể bằng đối số
/out
. Ví dụ, lệnh:
csc /target:module /out:Utilities.netmodule
ConsoleUtils.cs WindowsUtils.cs
sẽ cho kết quả là file Utilities.netmodule.
Để xây dựng một assembly gồm nhiều module, sử dụng đối số
/addmodule
. Ví dụ, để xây
dựng file thực thi MyFirstApp.exe từ hai module: WindowsUtils.netmodule và
ConsoleUtils.netmodule và hai file nguồn: SourceOne.cs và SourceTwo.cs, sử dụng lệnh:
csc /out:MyFirstApp.exe /target:exe
/addmodule:WindowsUtils.netmodule,ConsoleUtils.netmodule
SourceOne.cs SourceTwo.cs
Lệnh này sẽ cho kết quả là một assembly gồm các file sau:
•
MyFirstApp.exe: Chứa manifest cũng như MSIL cho các kiểu được khai báo trong hai
file nguồn SourceOne.cs và SourceTwo.cs.
•
ConsoleUtils.netmodule và WindowsUtils.netmodule: Giờ đây là một phần của
assembly nhưng không thay đổi sau khi biên dịch. (Nếu bạn chạy MyFirstApp.exe mà
không có các file netmodule, ngoại lệ
System.IO.FileNotFoundException
sẽ bị ném).
4.
4.
T o và s d ng th vi n
ạ
ử ụ
ư ệ
T o và s d ng th vi n
ạ
ử ụ
ư ệ
Bạn cần xây dựng một tập các chức năng thành một thư viện để nó có thể được
tham chiếu và tái sử dụng bởi nhiều ứng dụng.
Để tạo thư viện, sử dụng đối số
/target:library
khi biên dịch assembly của bạn
bằng trình biên dịch C# (csc.exe). Để tham chiếu thư viện, sử dụng đối số
/reference
và chỉ định tên của thư viện khi biên dịch ứng dụng.
Mục 1.1 minh họa cách xây dựng ứng dụng MyFirstApp.exe từ hai file mã nguồn
ConsoleUtils.cs và HelloWorld.cs. File ConsoleUtils.cs chứa lớp
ConsoleUtils
, cung cấp các
phương thức đơn giản hóa sự tương tác với Console. Các chức năng này của lớp
ConsoleUtils
cũng có thể hữu ích cho các ứng dụng khác. Để sử dụng lại lớp này, thay vì gộp cả mã nguồn
của nó vào mỗi ứng dụng, bạn có thể xây dựng nó thành một thư viện, khiến các chức năng
này có thể truy xuất được bởi nhiều ứng dụng.
Để xây dựng file ConsoleUtils.cs thành một thư viện, sử dụng lệnh:
csc /target:library ConsoleUtils.cs
Lệnh này sinh ra một file thư viện có tên là ConsoleUtils.dll.