Assemblies - Cấu hình
Số trang: 5
Loại file: pdf
Dung lượng: 100.30 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Các thành phần COM dùng registry để định hình các thành phần. Cấu hình của các ứng dụng .NET được thực hiện khi sử dụng các tập tin cấu hình. Với đăng ký cấu hình xcopy-deployment không thể thực hiện được. Các file cấu hình dùng cú pháp XML để xác định thiết lập startup và runtime cho các ứng dụng. Cơ chế về phiên bản Như bạn đã biết, .NET Runtime không buồn kiểm tra phiên bản đối với các private assembly. Nhưng khi dùng shared assembly thì vấn đề phiên bản lại trở thành quan trọng. Bây...
Nội dung trích xuất từ tài liệu:
Assemblies - Cấu hình Assemblies Cấu hình Các thành phần COM dùng registry để định hình các thành phần. Cấuhình của các ứng dụng .NET được thực hiện khi sử dụng các tập tin cấuhình. Với đăng ký cấu hình xcopy-deployment không thể thực hiện được.Các file cấu hình dùng cú pháp XML để xác định thiết lập startup và runtimecho các ứng dụng.Cơ chế về phiên bản Như bạn đã biết, .NET Runtime không buồn kiểm tra phiên bản đối vớicác private assembly. Nhưng khi dùng shared assembly thì vấn đề phiên bảnlại trở thành quan trọng. Bây giờ, ta thử tìm hiểu cơ chế đánh số phiên bản(gọi là versioning) và kiểm tra đối với shared assembly. Trên .NET, các shared assembly sẽ được nhận diện là duy nhất thông quatên và phiên bản, GAC cho phép những phiên bản khác sống chung cùngnhà, tay trong tay (thường gọi là side-by-side) nghĩa là phiên bản cũ vẫnhiện diện cùng với phiên bản mới hơn. Như vậy, mọi ứng dụng đặc biệt nàođó có thể bảo cho tớ phiên bản mới toanh nhất hoặc cho tớ build chótnhất của Verion 2, hoặc kể cả chỉ cho tớ phiên bản mà ứng dụng đang sửdụng. Một con số đánh dấu phiên bản của một assembly trông giống như sau:1:0:2204:21, nghĩa là dãy 4 con số phân cách bởi dấu hai chấm. Hai số đầu(1:0) là phiên bản major và minor. Con số thứ ba (2204) là số build, còncon số thứ tư (21) là số revision (số chỉnh sửa duyệt lại). Khi hai assembly có những số major hoặc minor khá nhau (chẳng hạn1.0so với 1.5) thì được xem như là hoàn toàn bất tương thích (incompatible).Khi các assembly khác nhau khá xa dựa trên con số Major và Minor, thì bạncó thể cắc chắn là có nhiều thay đổi đáng kể (nghĩa là thay đổi tên các hàmhành sự, kiểu dữ liệu được thêm vào hoặc bị gỡ bỏ, các thông số bị thay đổi,v.v..). Do đó, nếu ứng dụng client yêu cầu gắn kết với phiên bản 2.0 nhưngGAC chỉ chứa phiên bản 2.5 thì yêu cầu gắn kết thất bại (trừ phi bị phủquyết bởi tập tin cấu hình ứng dụng). Khi hai phiên bản mang cung số major và minor nhưng lại có số buildkhác nhau (chẳng hạn 2.5.0.0 so với 2.5.1.0) thì .NET Rungtime giả địnhchúng có thể là tương thích với nhau (nói cách khác xem như có tương thíchlui nhưng không bảo đảm). Cuối cùng, khi ba con số đầu giống nhau, chỉkhác số revision (còn gọi là Quick fix Engineering, QFE) thì được xem nhưlf hoàn toàn tương thích. Số duyệt lại QFE dành cho những lần sửa chữa bug. Nếu bạn sửa một bugvà cho biết là DLL của bạn hoàn toàn tương thích đối với phiên bản hiệnhữu, thì bạn phải tăng con số duyệt lại. Khi một ứng dụng nạp mộtassembly, thì nó cho biết phiên bản major và minor nó muốn nạp, vàAssemblyResolver sẽ tìm ra con số build và revision cao nhất. Ghi nhận thông tin về Version Tới đây, có thể bạn hỏi con số phiên bản được khai báo ở đâu? Bạn nhớlại là mỗi dự án C# đều định nghĩa một tập tin mang tên AssemblyInfo.cs.Nếu bạn quan sát tập tin này (bạn mở dự án CarLibrary.dll chẳng hạn, goiSolution Explorer vào rồi double-click lên assemblyInfo.cs thì cửa sổ tập tinnày sẽ hiện lên). Bạn thấy một chuỗi như sau được đặt để:[asssembly: assemblyVersion(1.0.*)] Mỗi dự án mới C# bắt đầu cuộc sống với phiên bản 1.0. Khi bạn buildphiên bản mới của một shard assembly, phần lớn công việc của bạn là nhậttu con số thứ tư của phiên bản. Bạn nên nhớ là Cisual Stidio.NET IDE sẽ tựđộng tăng con số build và revision (được đánh dấu bởi tag *). Bạn có thểnhật tu chuỗi trên như sau:[asssembly: AssemblyVersion(1.0.0.0)]Cơ bản về phobing .NET Runtime giải quyết việc tìm ra nơi tá túc của một private assemblybằng cách sử dụng một kỹ thuật được gọi là probing. Đây là một tiến trìnhánh xạ một qui chiếu assembly nằm ngoài (external assembly reference),nghĩa là [.assembly extern], về đúng tập tin nhị phân tương ứng. Thí dụ, khi.NET Runtime đọc hàng sau đây từ một manifest: .assembly extern carlLibrary { ... }thì một cuộc dò tìm sẽ được thực hiện trên thư mục ứng dụng đối với mộttập tin mang tên CarLibrary.dll. Nếu không thể tìm thấy nơi tá túc củamột DLL binary, thì lại thử đối với một CarLibrary.exe. Bạn nhớ cho là nếuassembly chứa tag [.publickeytoken], nghĩa là liên quan đến một sharedassembly, thì GAC sẽ được dò tìm trước tiên (ta sẽ xem chi tiết sau trôngchốc lát). ...
Nội dung trích xuất từ tài liệu:
Assemblies - Cấu hình Assemblies Cấu hình Các thành phần COM dùng registry để định hình các thành phần. Cấuhình của các ứng dụng .NET được thực hiện khi sử dụng các tập tin cấuhình. Với đăng ký cấu hình xcopy-deployment không thể thực hiện được.Các file cấu hình dùng cú pháp XML để xác định thiết lập startup và runtimecho các ứng dụng.Cơ chế về phiên bản Như bạn đã biết, .NET Runtime không buồn kiểm tra phiên bản đối vớicác private assembly. Nhưng khi dùng shared assembly thì vấn đề phiên bảnlại trở thành quan trọng. Bây giờ, ta thử tìm hiểu cơ chế đánh số phiên bản(gọi là versioning) và kiểm tra đối với shared assembly. Trên .NET, các shared assembly sẽ được nhận diện là duy nhất thông quatên và phiên bản, GAC cho phép những phiên bản khác sống chung cùngnhà, tay trong tay (thường gọi là side-by-side) nghĩa là phiên bản cũ vẫnhiện diện cùng với phiên bản mới hơn. Như vậy, mọi ứng dụng đặc biệt nàođó có thể bảo cho tớ phiên bản mới toanh nhất hoặc cho tớ build chótnhất của Verion 2, hoặc kể cả chỉ cho tớ phiên bản mà ứng dụng đang sửdụng. Một con số đánh dấu phiên bản của một assembly trông giống như sau:1:0:2204:21, nghĩa là dãy 4 con số phân cách bởi dấu hai chấm. Hai số đầu(1:0) là phiên bản major và minor. Con số thứ ba (2204) là số build, còncon số thứ tư (21) là số revision (số chỉnh sửa duyệt lại). Khi hai assembly có những số major hoặc minor khá nhau (chẳng hạn1.0so với 1.5) thì được xem như là hoàn toàn bất tương thích (incompatible).Khi các assembly khác nhau khá xa dựa trên con số Major và Minor, thì bạncó thể cắc chắn là có nhiều thay đổi đáng kể (nghĩa là thay đổi tên các hàmhành sự, kiểu dữ liệu được thêm vào hoặc bị gỡ bỏ, các thông số bị thay đổi,v.v..). Do đó, nếu ứng dụng client yêu cầu gắn kết với phiên bản 2.0 nhưngGAC chỉ chứa phiên bản 2.5 thì yêu cầu gắn kết thất bại (trừ phi bị phủquyết bởi tập tin cấu hình ứng dụng). Khi hai phiên bản mang cung số major và minor nhưng lại có số buildkhác nhau (chẳng hạn 2.5.0.0 so với 2.5.1.0) thì .NET Rungtime giả địnhchúng có thể là tương thích với nhau (nói cách khác xem như có tương thíchlui nhưng không bảo đảm). Cuối cùng, khi ba con số đầu giống nhau, chỉkhác số revision (còn gọi là Quick fix Engineering, QFE) thì được xem nhưlf hoàn toàn tương thích. Số duyệt lại QFE dành cho những lần sửa chữa bug. Nếu bạn sửa một bugvà cho biết là DLL của bạn hoàn toàn tương thích đối với phiên bản hiệnhữu, thì bạn phải tăng con số duyệt lại. Khi một ứng dụng nạp mộtassembly, thì nó cho biết phiên bản major và minor nó muốn nạp, vàAssemblyResolver sẽ tìm ra con số build và revision cao nhất. Ghi nhận thông tin về Version Tới đây, có thể bạn hỏi con số phiên bản được khai báo ở đâu? Bạn nhớlại là mỗi dự án C# đều định nghĩa một tập tin mang tên AssemblyInfo.cs.Nếu bạn quan sát tập tin này (bạn mở dự án CarLibrary.dll chẳng hạn, goiSolution Explorer vào rồi double-click lên assemblyInfo.cs thì cửa sổ tập tinnày sẽ hiện lên). Bạn thấy một chuỗi như sau được đặt để:[asssembly: assemblyVersion(1.0.*)] Mỗi dự án mới C# bắt đầu cuộc sống với phiên bản 1.0. Khi bạn buildphiên bản mới của một shard assembly, phần lớn công việc của bạn là nhậttu con số thứ tư của phiên bản. Bạn nên nhớ là Cisual Stidio.NET IDE sẽ tựđộng tăng con số build và revision (được đánh dấu bởi tag *). Bạn có thểnhật tu chuỗi trên như sau:[asssembly: AssemblyVersion(1.0.0.0)]Cơ bản về phobing .NET Runtime giải quyết việc tìm ra nơi tá túc của một private assemblybằng cách sử dụng một kỹ thuật được gọi là probing. Đây là một tiến trìnhánh xạ một qui chiếu assembly nằm ngoài (external assembly reference),nghĩa là [.assembly extern], về đúng tập tin nhị phân tương ứng. Thí dụ, khi.NET Runtime đọc hàng sau đây từ một manifest: .assembly extern carlLibrary { ... }thì một cuộc dò tìm sẽ được thực hiện trên thư mục ứng dụng đối với mộttập tin mang tên CarLibrary.dll. Nếu không thể tìm thấy nơi tá túc củamột DLL binary, thì lại thử đối với một CarLibrary.exe. Bạn nhớ cho là nếuassembly chứa tag [.publickeytoken], nghĩa là liên quan đến một sharedassembly, thì GAC sẽ được dò tìm trước tiên (ta sẽ xem chi tiết sau trôngchốc lát). ...
Tìm kiếm theo từ khóa liên quan:
lập trình tài liệu lập trình kỹ thuật lập trình giáo trình C ngôn ngữ lập trình C tự học lập trình với CGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 260 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 202 0 0 -
101 trang 199 1 0
-
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 192 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 161 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 152 0 0 -
Tìm hiểu về ngôn ngữ lập trình C: Phần 1 - Quách Tuấn Ngọc
211 trang 149 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 129 0 0 -
161 trang 129 1 0
-
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 117 0 0