BCL (기본 클래스 라이브러리) 대 FCL (프레임 워크 클래스 라이브러리)


답변:


98

BCL (Base Class Library)은 말 그대로베이스입니다. 그것은 기본 포함, 기본 유형 좋아 System.String하고 System.DateTime.

FCL (Framework Class Library)은 ASP.NET, WinForms, XML 스택, ADO.NET 등 전체를 포함하는보다 광범위한 라이브러리입니다. FCL에 BCL이 포함되어 있다고 말할 수 있습니다.


35
간단한 수준에서 .NET Framework = 라이브러리 (FCL, BCL), 언어 컴파일러 (C #, VB.NET) 및 공용 언어 런타임 (CLR). 또한 Visual Studio, MSDN Help 등을 둘러싼 전체 에코 시스템이 있습니다.
Andrew Webb

1
@JoanVenge BCL은 FCL의 하위 집합입니다. BCL은 FCL의 하위 구성 요소이며 모두 함께 별도의 구성 요소가 아닙니다.
iliketocode

26

BCL :

.NET Framework 라이브러리 인 BCL은 C # 런타임 라이브러리의 표준이며 CLI (공용 언어 인프라) 표준 라이브러리 중 하나입니다. BCL은 내장 CLI 데이터 유형, 기본 파일 액세스, 콜렉션, 사용자 정의 속성, 형식화, 보안 속성, I / O 스트림, 문자열 조작 등을 나타내는 유형을 제공합니다.

FCL :

.NET Framework 클래스 라이브러리는 이름에서 알 수 있듯이 개발자가 작업을보다 쉽게 ​​수행하는 데 사용할 수있는 클래스 및 기타 형식 라이브러리입니다. 이러한 클래스는 자체적으로 C #으로 작성되지만 모든 CLR 기반 언어에서 사용할 수 있습니다.

각 프로젝트 유형과 함께 FCL의 일부 부분과 함께 BCL을 사용하게됩니다. 따라서 System.Windows.Forms (별도의 라이브러리) 또는 System.Web, mscorlib 및 System.dll의 BCL 포함


4
Microsoft에서는 CLR 팀이 BCL을 소유하고 있고 많은 팀이 FCL의 다른 부분을 소유하고 있다고 생각합니다.
rjdevereux 2009

22

BCL 은 클래스 라이브러리 (CL)라고도하는 기본 클래스 라이브러리를 나타냅니다. BCL은 프레임 워크 클래스 라이브러리 (FCL)의 하위 집합입니다. 클래스 라이브러리는 CLR과 밀접하게 통합 된 재사용 가능한 형식의 모음입니다. 기본 클래스 라이브러리는 일상적인 작업을 수행하는 데 도움이되는 클래스 및 유형을 제공합니다 (예 : 문자열 및 기본 유형, 데이터베이스 연결, IO 작업 처리).

Framework 클래스 라이브러리에는 다양한 유형의 애플리케이션을 빌드하는 데 사용되는 수천 개의 클래스가 포함되어 있으며 애플리케이션에 필요한 모든 기본 기능과 서비스를 제공합니다. FCL에는 다양한 응용 프로그램을 지원하는 클래스 및 서비스가 포함됩니다.

  • 데스크톱 애플리케이션,

  • 웹 애플리케이션 (ASP.Net, MVC, WCF),

  • 모바일 애플리케이션,

  • Xbox 응용 프로그램,

  • Windows 서비스 등

세부 사항에서 추가 BCL / CL은 닷넷에 무엇입니까?

여기에 이미지 설명 입력


인 Ashish : 당신은 BCL에 대해 좀 더 설명 답변을 제공 할 수 있습니다
amitguptageek

4
좋은는 사진 가치가 천 단어입니다
MKB를

@amitguptageek 당신은에서 자세한 내용을 확인하실 수 있습니다 modernpathshala.com/Forum/Thread/Interview/7307/...
인 Ashish Shukla

13

기본 클래스 라이브러리 (BCL)는 공용 언어 런타임의 기본 API 역할을하는 핵심 클래스 집합입니다. mscorlib.dll의 클래스와 System.dll 및 System.core.dll의 일부 클래스는 BCL의 일부로 간주됩니다. 여기에는 System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization 및 System.Data 등과 같은 네임 스페이스의 클래스가 포함됩니다.

FCL (Framework Class Library)은 BCL 클래스의 상위 집합이며 .NET Framework와 함께 제공되는 전체 클래스 라이브러리를 나타냅니다. 여기에는 Windows Forms, ADO.NET, ASP.NET, 언어 통합 쿼리, Windows Presentation Foundation, Windows Communication Foundation을 비롯한 확장 된 라이브러리 집합이 포함됩니다.

따라서 차이점이 있으며 서로 바꿔서 사용해서는 안됩니다.


12

BCL은 FCL의 하위 집합입니다. BCL은 공용 언어 인프라에 대한 ECMA 사양을 준수합니다. 그런 다음 Microsoft는 데이터 및 xml과 같은 모든 장점을 추가하고 프레임 워크 클래스 라이브러리라고 불렀습니다. 기본적으로 그들은 BCL을 가져와 11로 만들었습니다!


2
감사합니다. "11 번으로 이동"이 무슨 뜻인가요?
Joan Venge

10
Spinal Tap 참조
Chris S

1
그거 들어 본 적 없어. 내가 빠지지 않도록 그게 무슨 뜻인지 말해 줄 수 있니?
Joan Venge

8
그래서 모의적인 스타일로 헤비메탈 밴드를 풍자적으로 바라 보는 영화 'This is Spinal Tap'에서 기타리스트 (Nigel Tufnel)는 Marty DiBergi를 위해 특별히 제작 한 앰프를 보여줍니다 : Nigel Tufnel : 숫자 모두 11로 이동합니다. 보세요, 바로 건너편에 11, 11, 11 그리고 ... Marty DiBergi : 아, 알겠습니다. 그리고 대부분의 앰프는 10까지 올라 갈까요? : 바로 그거죠. : 그게 더 크다는 뜻인가요? 더 시끄 럽습니까? : 음, 한 번 더 크게 들리지 않나요?
Ichorus

1
@Ichorus하지만 왜 그들은 10을 더 크게 만들지 않습니까?
Simon Bosley

8

다음은 "The C # Player 's Guide"책에서 인용 한 것입니다.

BCL에는 모든 내장 유형, 배열, 예외, 수학 라이브러리, 기본 파일 I / O, 보안, 컬렉션, 리플렉션, 네트워킹, 문자열 조작, 스레딩 등이 포함됩니다. 완벽한 가이드는 아니지만 일반적인 규칙은 System으로 시작하는 모든 네임 스페이스가 BCL의 일부라는 것입니다.

BCL 외에도 Microsoft에서 .NET Framework와 함께 제공하는 더 많은 클래스가 있습니다. 일반적으로 이러한 추가 사항은 데이터베이스 액세스 또는 그래픽 사용자 인터페이스 (Windows Forms 또는 WPF)와 같은 광범위한 기능 영역을 포함합니다. BCL을 포함한이 전체 컬렉션을 프레임 워크 클래스 라이브러리 (FCL)라고합니다. 평범한 토론에서 때때로 사람들은 FCL과 BCL을 상호 교환하여 사용하는데, 이는 엄격하게 정확하지는 않지만 대부분의 경우 충분할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.