2010-04-22 1 views
6

빌드하는 동안 포스트 샤프를 가져 와서 포스트 샤프 어셈블리에 대한 참조를 제거 할 수 있습니까?빌드 후 PostSharp 참조를 제거 하시겠습니까?

저는 EXE가 있습니다. 매우 작은 설치 공간이 필요합니다. postsharp의 컴파일 시간 짜기를 사용하고 싶지만 exe와 함께 PostSharp.dll을 배포하고 싶지는 않습니다. 내가 PostSharp 2 (2.0.4.1074 특히)를 사용하고

+1

어떤 버전의 PostSharp를 사용하십니까? –

+0

@Alex가 정보를 포함하도록 업데이트 된 질문 – Simon

+0

런타임 종속성이없는 솔루션이 여전히 필요합니까? –

답변

2

는 지금까지 내가 아는 한, 이것은 불가능하다. 애스펙트의 기본 클래스는 공용 PostSharp 어셈블리에 있으므로 참조가 필요합니다.

+0

하지만 postsharp가 어셈블리 캔트를 수정하기 위해 시간을 컴파일하면 참조를 제거하도록 어셈블리를 수정합니까? – Simon

+0

알렉스가 옳다. 애스펙트는 런타임에 실행되며 코드에서 인라인되지 않습니다. 그러나 ILMerge를 사용하여 PostSharp.dll을 라이브러리 중 하나에 병합 할 수 있습니다. –

+0

지우기. aspect 코드를 실행하기 때문에 프레임 워크는 (특히) 모든 기본 클래스를 필요로하기 때문에 참조를 제거 할 수 없습니다. 이러한 클래스는 PostSharp.dll에 있으므로 참조를 제거하려고하면 런타임에 TypeLoadException (또는 유사한)이 발생합니다. –