2013-10-30 3 views
0

수십 개의 프로젝트가 포함 된 큰 솔루션을 유지하는 것이 어려워 보입니다. 이 프로젝트 중 일부에서 패키지를 업데이트해야하지만 모든 프로젝트에서이 패키지를 건드리고 싶지는 않습니다.솔루션의 특정 프로젝트에서 참조 업데이트

예를 들어, 하나의 클래스 라이브러리 프로젝트에서 Entity Framework를 버전 6으로 업데이트하려고하지만 나머지 프로젝트에서는 이전 버전을 계속 사용하려고합니다. 그러나 다른 프로젝트가 EF5와 EF6을 사용하여 두 프로젝트를 호출해야하므로이 작업이 가능할 수도 있습니까?

또한 클래스 라이브러리를 모듈화하여 고유 한 종속성을 갖지만 라이브러리 호출자가 라이브러리 종속성에 종속되지 않도록 할 수 있습니까? (일반적으로 프로젝트를 호출 할 때 의존성에 대한 참조를 추가해야하며 프로젝트에서 실제로 의존성을 직접 사용해야합니다.) 나는이 클래스 라이브러리를 블랙 박스로 만들고 싶어한다. 호출 코드는 블랙 박스의 기능을 알아야합니다. 그리고 그것을 사용할 수 있도록 10 다른 구글 API DLL을 추가 할 필요가 없습니다.

답변

0

ILMerge을 고려해보십시오. ILMerge는 여러 DLL을 단일 라이브러리에 결합 할 수 있습니다. 즉, DLL에 의존성을 패키지화 할 수 있습니다.

그러나 사용법에 대한 조언을 드릴 수는 없지만 직접 경험은 아닙니다.

+0

ILMerge를 사용했습니다. 그것은 항상 잘 작동하지 않습니다. 나를 위해 그것은 항상 패키지 중 하나를 병합을 거부합니다. 이 작업을 수행하는 "기본 Visual Studio"방식이 있습니까? – SamiHuutoniemi

+0

프로젝트를 빌드 할 때마다 ilmerge.csharp.targets를 사용하여 csproj 파일을 편집하여 병합 할 수 있습니다. 여전히 ilmerge를 사용하고 있습니다! http://blogs.msdn.com/b/jomo_fisher/archive/2006/03/05/544144.aspx –

관련 문제