2010-07-30 13 views
10

Java cung cấp tệp jar sao cho tất cả các tệp lớp và tệp jar được hợp nhất thành một tệp. C# có cung cấp chức năng tương đương/tương tự không?Tương đương với các tệp jar của C#?

+9

Tôi thích định nghĩa đệ quy của tệp jar bạn đã cung cấp: Tệp Jar - tệp được sử dụng để hợp nhất các tệp jar vào một tệp. – rownage

Trả lời

18

.NET biên dịch thành dll hoặc exe. Bạn có thể sử dụng ILMerge để hợp nhất một vài dll/exes thành một.

+0

Đúng, nhưng có một tên đặc biệt cho các tệp .dll hoặc các tệp .exe chứa mã do CLI quản lý. Chúng được gọi là _assemblies_. https://en.wikipedia.org/wiki/Assembly_%28CLI%29 –

6

Không phải tập hợp .NET chỉ dành cho điều này?

Hãy nhớ rằng, bạn có thể bao gồm tài nguyên, v.v.

Ngoài ra, hội đồng có thể được kết hợp bằng ILMerge và đối với các trường hợp phức tạp hơn, bạn có thể nên sử dụng triển khai ClickOnce hoặc MSI tốt hơn.

Đối với đèn bạc, có các gói XAP, nhưng tôi cho rằng bạn đang nói về máy tính để bàn .NET.

2

Không thực sự, C# hoạt động với .dll và .lib. Nếu bạn không đặt mọi thứ trong cùng một dự án (tất cả mã nguồn), bạn sẽ không thể đạt được những gì bạn có thể muốn làm.

Nhưng với ILMerge, bạn có thể kết hợp tất cả mọi thứ vào 1 thực thi để phân phối dễ dàng hơn nếu bạn không muốn có một thiết lập hoặc một tập tin nén chứa tất cả các file cần thiết ..

1

Không, một lắp ráp AFAIK không thể bao gồm các hội đồng được tham chiếu.

2

Tương đương bình trong C# (về cơ bản trong bất kỳ ngôn ngữ .Net) nào là dll (đối với thư viện lớp) và exe (đối với tệp thực thi) hoặc tập hợp chung. Nhưng một hội đồng không thể bao gồm một hội đồng khác dưới dạng dll hoặc exe. Nhưng ILMerge kết hợp hai assembly nhưng không bao gồm một assembly khác như file jar.

Nhưng có dự án được xuất bản trong mã vạch (http://www.codeproject.com/KB/install/NARLoader.aspx) mà bạn có thể quan tâm. Nó làm những thứ như tệp jar với cụm .net.

Các vấn đề liên quan