문제

최근에는 일에는 몇 가지 작은.NET 응용 프로그램을 공유하는 몇 가지 일반적인 코드.코드는 몇 가지 인터페이스를 소개하는 추상적이다 I/O 통화에 대한 단위 테스트입니다.

내가 원하는 응용 프로그램의 독립 비용 없이 외부 종속성입니다.이처럼 보인다 완벽한 사용 사례에 대한 정적 라이브러리입니다.그것을 생각하는 타사 컨트롤 업체에서 혜택을 수 있는 이 모델은 너무입니다.

관심 있게 보고 있는 숨겨진 총 정적 라이브러리는 나가?

어떤 이유 C#디자이너는 그들을까?

편집:내가 알고 있 ILMerge 그러나 제공하지 않은 동일한 시설로 정적 라이브러리입니다.

도움이 되었습니까?

해결책

.NET은 실제로 정적 라이브러리의 도덕적 동등성을 지원합니다. NetModule이라고합니다 (파일 확장자는 일반적으로 .netModule). 이것에 대해 자세히 알아보십시오 블로그 게시물. Visual Studio Build Tool Chain에서 잘 지원되지 않음을주의하십시오. 제 생각에는 확장 방법 문제도 있습니다. Ilmerge는이 작업을 수행하기에 더 좋은 도구입니다.

다른 팁

이와 직접 관련이 없 C#지만,전체에 더해지는 것입니다.NET 니다.확인이 가능합 병합 사용하여 어셈블리 ILMerge, 지만,슬프게도 그것은 여전히 연구 프로젝트,하지만 적어도 그 라이센스 사용 허가 상업적 노력합니다.다른 것보다는,런타임(CLR)할 수 없는 병으로 단일 실행,대상 플랫폼에도 여전히 필요합니다.NET 을 설치할 수 있습니다.

편집:

내가 이것을 입력하기 전에 당신은 편집인이 포 ILMerge.내가 잘못 될 수도 있지만 있지 않은 추가적인 혜택을 피하고.NET 스타일의 동적 연결을 수 있습니다.거기에 아무 잘못을 넣어 위성 어셈블리와 함께 성능을 크게 향상시킵니다.Microsoft 지 않습니다 그들에 GAC.

정적 LIBS를 사용하면 런타임 제공 업체 (MS)가 패치 할 수 없다는 단점이 있습니다.

예를 들어 정적 MFC LIBS를 사용하고 SECURIFY 문제 또는 기타 버그가 MFC 정적 LIBS에서 발견되는 경우 MS는 패치 할 수 없습니다 (코드는 이미 실행 파일에 있습니다). 공유 DLL을 사용하면 IT를 돌보지 않고 OS 레벨에서 쉽게 패치 할 수 있습니다.

물론 공유 Libs는 작은 단점이 있습니다. 종속성이 취해지고 시스템에 설치해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top