많은 어셈블리를 참조 할 때 부정적인 영향은 무엇입니까? 나는 ReSharper가 "Unused References"를 제거 할 수있는 기능을 가지고 있다는 것을 알아 챘습니다. (때로는 참조에 의존하는 어셈블리가 Ninject를 통해 런타임에로드 될 때와 같이 잘못되었지만) 프로젝트를 좀 더 깨끗하게 보이게하는 것 외에 어떤 이점이 있습니까? ? 결과 어셈블리는 런타임에 메모리를 덜 사용합니까? 아마도 컴파일러는 참조가 사용되지 않는다는 것을 알기에 충분히 똑똑할까요?많은 어셈블리를 참조 할 때 부정적인 영향이 있습니까?
답변
컴파일러는 사용하지 않는 참조를 무시할만큼 똑똑합니다.
그러나 Visual Studio Intellisense에서 참조되는 많은 어셈블리에서 성능에 영향을 미칩니다. C# Team's FAQ Blog on MSDN
에서
는 .NET 플랫폼 유형의 바이너리 재사용을 장려 감안할 때, .NET 참조 추가 대화 상자는 Visual Studio를 사용하여 외부 어셈블리에 대한 참조를 설정하는 평범한입니다. 많은 프로그래머 (특히 C (++) ilk의 프로그래머)는 불필요한 외부 참조를 추가하면 코드가 부 풀릴 수 있습니다. 진실에서 더 멀어 질 수는 없습니다. 어셈블리 참조를 추가하거나 'using'키워드를 사용하면 csc.exe는 실제로 코드에서 사용하지 않은 어셈블리를 무시합니다.
참고 자료를 제공해 주시겠습니까? (첫 번째 부분 - 인텔리 센스 효과에 대해 말씀 드리겠습니다) –
@ Sam.Rueby See - http://blogs.msdn.com/b/csharpfaq/archive/2004/10/20/245411.aspx – Kami
모든 어셈블리 참조는 시스템 내에서 커플 링을 증가시키는 종속성입니다. 너무 많은 참고 문헌을 가지고있는 나의 경험에서 가장 큰 영향은 시스템 설계가 잘 시행되지 않았 음을 나타내며 시스템이 big ball of mud이되는 것을 나타낼 수 있음을 나타냅니다.
- 1. jQuery 체인 선택기 연결에 부정적인 영향이 있습니까?
- 2. .NET 어셈블리를 ColdFusion에서 참조 할 수 있습니까?
- 3. 호환성 수준이 낮은 SQL Server 사용에 부정적인 영향이 있습니까?
- 4. 프로젝트의 새 프레임 워크를 연결하면 앱 성능에 부정적인 영향이 있습니까?
- 5. bin 디렉토리에 .pdb 파일이 있으면 성능에 부정적인 영향이 있습니까?
- 6. HTML 태그의 속성을 만들어 사용의 부정적인 영향이 있습니까
- 7. MVC 뷰에서 어셈블리를 참조 할 수 없습니다.
- 8. 참조 된 어셈블리를 강제로로드해야합니까?
- 9. 어셈블리를 x64로 컴파일 할 때 이점이 있습니까?
- 10. 왜 참조 어셈블리를 체인해야합니까?
- 11. windows.forms 어셈블리를 참조 할 필요가 없습니까?
- 12. Nettier 어셈블리를 참조 할 때 NserviceBus가 예외를 throw합니다.
- 13. AvalonDock은 자체 어셈블리를 어떻게 참조 할 수 있습니까?
- 14. iOS XCode 응용 프로그램이 MonoTouch 어셈블리를 참조 할 수 있습니까?
- 15. 리플렉션을 통해 특정 버전의 어셈블리를 참조 할 수 있습니까?
- 16. Silverlight 5 어셈블리에서 Silverlight 4 어셈블리를 참조 할 수 있습니까?
- 17. ASP.NET MVC2에서 MVC3으로 업그레이드 할 때 NHibernate에 어떤 영향이 있습니까?
- 18. 여러 객체를 연속적으로 호출 할 때 성능에 영향이 있습니까?
- 19. Python으로 로그인 할 때 funcName을 사용하면 성능에 어떤 영향이 있습니까?
- 20. Web.config에 어셈블리를 추가 할 때 버전이나 범위를 지정할 수 있습니까?
- 21. 다른 프로젝트에서 NServiceBus 어셈블리를 참조 할 때 "참조 필요"오류가 발생했습니다.
- 22. 어디서 MPF.Project.NonShipping.dll 어셈블리를 다운로드 할 수 있습니까?
- 23. 어셈블리를 참조 할 때 버전 번호를 고집하지만 publickeytoken을 무시할 수 있습니까? 질문 사항에 따라
- 24. 5MB .Net 어셈블리를 참조 할 때 성능에 대한 고려 사항이 있습니까?
- 25. .Net에서 어셈블리를 대체하기 위해 다른 어셈블리를 복사 할 수 있습니까?
- 26. 어셈블리를 선택적으로 생성 할 수 있습니까?
- 27. F # 및 C# 어셈블리를 ILMerge와 병합하여 참조 할 때 모든 유형을 사용할 수있게하는 방법은 무엇입니까?
- 28. 2.0 응용 프로그램에서 3.5 어셈블리를 참조 하시겠습니까?
- 29. System.Diagnostics.Process를 사용하여 참조 된 어셈블리를 반영 하시겠습니까?
- 30. 속기 대화에 어떤 영향이 있습니까?
처음에는 필요없는 참조를 왜 추가하고 있습니까? – Servy
Silverlight에 배포하는 경우 불필요한 어셈블리가 클라이언트로 전송됩니다. 일반적으로 필자는 필요한 프로젝트 참조를 최소화하려고 노력합니다. 존재하지 않는 순환 참조를 피하는 데 도움이되며 종속성을 최소화하는 데 도움이되며 각 프로젝트가 의존하는 것에 대해 실제로 빠르고 정확하게 보입니다. –
@Servy VS에서 흔히 제거 할 수있는 일련의 일반적인 시스템 어셈블리 (System.Xml, System.Windows, System.Core 등)를 추가합니다. 그러나 일반적으로 동의합니다. 필요할 때까지 어셈블리 참조를 수동으로 추가 할 필요가 없습니다. 그런 다음 종속성을 리팩토링 할 때 경계 참조를 제거해야합니다. –