AssemblyInfo.cs được sử dụng để làm gì?


113

Câu hỏi của tôi là khá cơ bản. Điều tôi muốn biết là tệp AssemblyInfo.cs được sử dụng để làm gì?


Nhưng hãy nhớ số phiên bản này chỉ được sử dụng cùng với tên, mã thông báo khóa công khai và thông tin văn hóa nếu các tập hợp được ký tên mạnh. Nếu tập hợp không được ký tên mạnh, chỉ tên tệp được sử dụng để tải.
Karl SoCal

Câu trả lời:


83

AssemblyInfo.cs chứa thông tin về lắp ráp của bạn, như tên, mô tả, phiên bản, v.v. Bạn có thể tìm thêm thông tin chi tiết về nội dung của nó bằng cách đọc các nhận xét có trong đó.

Nếu bạn xóa nó, assembly của bạn sẽ được biên dịch mà không có thông tin, tức là, trong tab Chi tiết của thuộc tính tệp, bạn sẽ không thấy tên, không có mô tả, phiên bản 0.0.0.0, v.v.

Giá trị được liên kết với assembly: Guid là ID sẽ xác định assembly nếu nó sẽ được hiển thị dưới dạng đối tượng COM. Vì vậy, nếu lắp ráp của bạn không tiếp xúc với COM, bạn không cần điều này. Nó được tạo ra một cách ngẫu nhiên. Trong mọi trường hợp, thông thường, bạn không cần phải sửa đổi nó.

Tín dụng được chuyển đến: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c


1
Vì vậy, nếu tôi không bao giờ thay đổi số phiên bản trong tệp AssemblyInfo của mình thì bất kể tôi thực hiện bao nhiêu lần triển khai, nó sẽ luôn hiển thị là 1.0.0.0?
Sachin Kainth

3
Điều gì xảy ra nếu tôi muốn tự động cập nhật phiên bản mỗi lần phát hành. Điều này có khả thi không?
Sachin Kainth

Sau khi xây dựng thành công trong cài đặt dự án, bạn có thể gọi một số .exe để cập nhật số này (vì vậy nó sẽ là số phiên bản cho bản phát hành tiếp theo, không phải số vừa được tạo). Hãy xem tại: codeproject.com/Articles/31236/…
Francois

Bạn có chắc rằng không cần phải sửa đổi nó không? Làm cách nào để bạn kiểm soát việc triển khai của mình mà không cần sử dụng số phiên bản?
Uğur Aldanmaz

15

Trong tệp AssemblyInfo Các thuộc tính thông tin chứa các thông tin về Tên sản phẩm, mô tả, Nhãn hiệu, bản quyền. Nói chung thông tin này là mã cứng hoặc được lưu trữ trong cơ sở dữ liệu hoặc tệp phẳng. .NET assembly cung cấp để lưu trữ thông tin này trong tệp AssemblyInfo và sau khi biên dịch, nó trở thành một phần của assembly. Vì vậy, tại thời điểm chạy, người ta có thể đọc thông tin này.

Một phần của thông tin hội

1 AssemblyTitle: Tên tiêu đề từ hợp ngữ.

2 AssemblyDescription: Nó cung cấp mô tả chi tiết từ assembly.

3 AssemblyCompany: Nó cung cấp thông tin công ty từ hội đồng.

4 AssemblyProduct: Nó cung cấp thông tin sản xuất từ ​​quá trình lắp ráp.

5 AssemblyCopyright: Nó Cung cấp bản quyền từ assembly.

6 AssemblyTrademark: Nó Cung cấp nhãn hiệu từ hội đồng.

Mỗi thuộc tính này có một lớp xác định, được sử dụng để đọc thông tin từ tệp AssemblyInfo.

Kiểm tra liên kết này: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx


10

Chuyển đến Thuộc tính dự án của bạn, tab Ứng dụng và nhấp vào nút Thông tin lắp ráp.

Đó là những gì được lưu trữ trong AssemblyInfo.cs.

Trong Windows Explorer, nhấp chuột phải vào đầu ra .exe của dự án của bạn, chọn Thuộc tính và chuyển đến tab Chi tiết. Đó là thông tin được tạo bởi AssemblyInfo.cs.


8

Trong tệp AssemblyInfo, bạn có thể lưu trữ thông tin mà bạn có thể nhận được từ mọi nơi trong dự án, vì vậy bạn không phải cập nhật tất cả các nơi mà chỉ cần assemblyInfo.

Ví dụ - trong tệp này, bạn cập nhật số phiên bản và nó được cập nhật tự động trong trang web của bạn. Trong trang html, để lấy số phiên bản, hãy viết:

Assembly assembly = Assembly.GetAssembly(typeof(ProjectName.WebSite.Controllers.MyController));
string version = assembly.GetName().Version.ToString();

và nó sẽ được cập nhật mỗi khi bạn tải lên một phiên bản mới.


4

Đây là một vị trí thuận tiện cho các thuộc tính cấp lắp ráp, chẳng hạn như phiên bản, tên công ty, v.v.


0

AssemblyInfo.cs chứa thông tin chung về ứng dụng bạn đang xây dựng, một số thông tin này bao gồm tiêu đề ứng dụng của bạn, bản quyền, v.v., ví dụ: nếu tiêu đề ứng dụng của bạn là "MyApplication", bạn sẽ thấy một cái gì đó như sau: [assembly: AssemblyTitle ("Ứng dụng của tôi")]


3
Chào mừng bạn đến với Stack Overflow. Rất vui khi thấy bạn tham gia nhưng vui lòng tránh thêm các câu trả lời không mang lại điều gì mới cho chủ đề.
machnic
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.