나는 각각 공유 코어 DLL을 사용하는 두 개의 완전히 독립적 인 웹 응용 프로그램을 가지고 있습니다. 배포 및 버전 관리 목적으로 두 응용 프로그램 모두에서 "코어"dll의 단일 복사본을 배포 할 수 있기를 바랍니다. 또한 필요한 경우 배포시 핵심 DLL을 옵션으로 대체 할 수있는 기능을 지원할 수 있기를 바랍니다. 즉, app1은 코어 dll 버전 1을 사용할 수 있고 app2는 코어 dll 버전 2를 사용할 수 있습니다. 이러한 기능을 지원하기 위해 경로별로 단일 DLL의 구현 클래스를 지원하는 DI 컨테이너가 있습니까? IOW, app1은 c : \ corev1 \ core.dll의 구현 클래스를 가져오고 app2는 간단한 예제로 c : \ corev2 \ core.dll의 구현 클래스를 가져옵니다. 모든 응용 프로그램이 독립적 인 배포 전략으로 인해 core.dll에 대한 직접적인 참조는 피할 필요가 있습니다.DI 외부 DLL 사용
3
A
답변
2
DI 또는 컨테이너가 필요하지 않습니다. Assembly Versioning은 .NET에서 즉시 지원됩니다.
각 응용 프로그램의 나머지 응용 프로그램 바이너리와 함께 core.dll을 배포하고 서로 독립적으로 버전을 배포하면됩니다.
3
DI가 반드시 필요하지는 않지만 DI가 아닌 플러그 가능을 원합니다. MEF을보십시오.
관련 문제
- 1. Asp.Net 및 외부 DLL
- 2. Android에서 SubCut (Scala DI) 사용
- 3. .NET에서 외부 DLL 디버깅
- 4. DLL 내부 및 외부 포인터
- 5. .Net에서 VB6.dll 사용
- 6. EXE에서 DLL 사용
- 7. DLL 컴파일 사용
- 8. WinForms에서 혼란스러운 DLL 사용
- 9. win3.5.0에서 user32.dll 사용
- 10. VB6에서 C++ DLL 사용
- 11. qt 작성자에서 DLL 사용
- 12. C#/wpf 외부 dll 내부의 OpenMP
- 13. 팩토리 클래스와 스프링 DI
- 14. 난독 화 Winform 및 외부 종속성 (dll)
- 15. 외부 엔트리 포인트 C++ (lib 또는 dll)
- 16. WPF DI 서비스 로케이터
- 17. vb6 dll에서 .net dll 사용
- 18. C# 프로젝트에서 cpp dll 사용
- 19. DLL 대신 웹 서비스 사용
- 20. C++에서 Delphi DLL 사용
- 21. ASP.NET에서 타사 COM DLL 사용
- 22. C#에서 C++ dll 사용
- 23. WPF MediaPlayer DLL 리소스 사용
- 24. linux 플랫폼에서 dll win32 사용
- 25. Windows의 Espel SAPI/dll 사용?
- 26. android에서 외부 글꼴 사용
- 27. 외부 파일에서 함수 사용?
- 28. 외부 XML을 AS3.0으로 사용
- 29. Ruby에서 외부 라이브러리 사용
- 30. 안드로이드에서 외부 데이터베이스 사용
이것은 좋은 제안이며 내가 지나치게 단순화 된 시나리오에서 유효합니다. MEF가이 문제를 해결했으며 문제의 주로서 DLL에 대한 직접적인 참조를 피할 수있었습니다. 우리의 개발 프로세스와 현재의 CI 프로세스는 약간의 작업이 필요하며 결국에는 단순화 된 접근법을 사용하기 위해 방향으로 나아갔습니다. 그러나 지금 당장은 불가능합니다. – codeEmitter