2010-01-06 46 views
12

Có thể buộc tệp tin giải pháp C# của tôi tạo một DLL duy nhất chứa tất cả các dự án trong giải pháp, thay vì một DLL cho mỗi dự án? This dude nói rằng không thể nhưng tôi nhận thấy đó là một bài đăng từ năm 2004. Tôi đang sử dụng Visual Studio 2008 Team System và đó là một ứng dụng C#.một DLL, nhiều dự án?

Trả lời

20

Không. Mỗi dự án sẽ biên dịch thành một thư viện hoặc ứng dụng riêng biệt.

Tuy nhiên, bạn có thể hợp nhất các tệp này thành một tệp DLL hoặc EXE duy nhất bằng cách sử dụng biên soạn bài đăng ILMerge.

0

Có thể, và thậm chí có thể xảy ra vào năm 2004.

Tuy nhiên, Visual Studio không hiển thị nó.

Bạn cần sử dụng netmodules.

+1

Bạn có chắc chắn? Điều đó có vẻ như nó tạo ra một hội đồng đa mô-đun (một hội đồng sử dụng nhiều dll), không phải là một dll đơn lẻ. –

+0

Nó vẫn là một DLL duy nhất. – SLaks

0

Bạn có thể tạo tập lệnh MSBuild sử dụng XSLT để kết hợp tất cả các tệp csproj thành một và sau đó xây dựng nó. Bạn sẽ không cần phải sao chép các tệp cs hoặc bất kỳ thứ gì như thế, chỉ cần tạo động tệp csproj mới.

14

Không thể trực tiếp với Visual Studio, nhưng bạn có thể hợp nhất các hội đồng bằng cách sử dụng ILMerge. Điều này có thể, ví dụ: được thực hiện trong bước đăng sau:

ilmerge /target:winexe /out:SelfContainedProgram.exe 
    Program.exe ClassLibrary1.dll ClassLibrary2.dll 

Nếu dự án của bạn là dự án ASP.Net bạn có thể dựa trên ASP.NET Merge Tool.

0

Không bao giờ làm được điều đó đích thân nhưng trông giống như công cụ này có thể làm cho điều đó xảy ra:

ILMerge

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