2010-01-06 6 views
12

C# 솔루션 파일이 프로젝트 당 하나의 DLL 대신 솔루션의 모든 프로젝트를 포함하는 단일 DLL을 만들도록 강제 할 수 있습니까? This dude은 그럴 수 없다고 말하지만 저는 2004 년부터 그 게시물을 보았습니다. 저는 Visual Studio 2008 Team System을 사용하고 있으며 C# 어플리케이션입니다.하나의 DLL, 여러 프로젝트?

답변

20

아니요. 각 프로젝트는 별도의 라이브러리 또는 응용 프로그램으로 컴파일됩니다.

그러나 컴파일 후 ILMerge을 사용하여 단일 DLL 또는 EXE 파일로 병합 할 수 있습니다.

0

이 가능하고, 그러나 Visual Studio를 노출시키지 않는 2004

에서도 가능했다.

netmodules을 사용해야합니다.

+1

당신이 확실합니까? 다중 dll 어셈블리 (여러 dll을 사용하는 하나의 어셈블리)가 만들어지며 하나의 dll이 아닙니다. –

+0

여전히 하나의 DLL입니다. – SLaks

0

XSLT를 사용하여 모든 csproj 파일을 하나로 결합한 후 빌드 할 수있는 MSBuild 스크립트를 만들 수 있습니다. cs 파일이나 그와 비슷한 것을 복사 할 필요는 없으며 새로운 csproj 파일을 동적으로 생성합니다.

14

Visual Studio에서는 직접 사용할 수 없지만 ILMerge을 사용하여 어셈블리를 병합 할 수 있습니다. 이것은 예를 들어. 빌드 후 단계에서 수행 할 수 : 프로젝트는 ASP.NET Merge Tool에 의존 할 수있는 ASP.Net 프로젝트가

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

합니다.

0

개인적으로 해본 적이 있지만,이 도구처럼 보인다는 그렇게 할 수 있습니다 :

ILMerge

관련 문제