요구사항: ASP.NET Core를 사용해 프로젝트를 개발할 때는 이미 작성된 다양한 객체를 사용해야 하며, 심층 연구를 위해 소스 코드 구현 상태를 확인해야 할 때도 있습니다. 닷넷 소스 코드를 어떻게 볼 수 있는지도 중요합니다.
저는 예전에 GitHub 웹사이트를 열고 dotnet 오픈 소스 저장소에서 검색하곤 했는데, 다음과 같은 자료를 참고할 수 있습니다:
이 방법을 사용할 때의 단점 중 하나는 국내 네트워크 환경 문제로 인해시작 속도는 비교적 느리고, 검색은 여전히 로그인이 필요하며, 검색 속도도 비교적 느립니다! dotnet 소스 코드를 더 잘 볼 수 있는 방법이 있을까요?
.NET 소스 브라우저:하이퍼링크 로그인이 보입니다.
.NET 소스 브라우저 온라인 웹사이트를 열면 바로 온라인으로 검색할 수 있으며, 검색이 더 편리하고 매우 빠릅니다. 다음과 같습니다:
아래와 같이 더블 클릭으로 키워드가 사용되는 모든 위치를 확인할 수 있습니다:
이 웹사이트는 사실 SourceBrowser 도구로 생성된 온라인 웹사이트이며, 물론 자신의 프로젝트 소스 코드로도 그런 웹사이트를 생성할 수 있습니다.
출처 브라우저 주소:하이퍼링크 로그인이 보입니다.
인덱싱 시 Roslyn을 사용해 C#과 VB 소스 코드와 출력 디렉터리를 분석하세요정적인 하이퍼링크 HTML 파일을 대량으로 생성하세요。 데이터베이스는 없습니다. 웹사이트는 주로 정적인 HTML로 구성되어 있으며,모든 링크, 소스 코드 색칠 등은 인덱스 시점에 미리 계산됩니다。 모든 하이퍼링크는 서버를 우회하는 단순 링크로 하드와이어되어 있습니다.
웹 서버에서 실행되는 유일한 구성 요소는 검색 쿼리를 조회하여 정적 HTML로 연결되는 하이퍼링크인 일치하는 타입과 멤버 목록을 반환하는 서비스입니다. 웹 서비스는 모든 선언된 타입과 멤버의 목록을 메모리에 보관하며, 이 목록도 인덱스 시점에 미리 계산됩니다. Find All References, Project Explorer 등과 같은 모든 서비스는 미리 렌더링되어 있습니다.
생성기는 증분형이 아닙니다. 매번 빈 폴더를 처음부터 생성하고, 현재 배포된 폴더를 원자적으로 새 콘텐츠로 교체해야 합니다(예: Azure로 배포, robocopy /MIR에서 inetpub\wwwroot 등). 작은 프로젝트의 경우, Dropbox나 Git을 사용해 Azure에 배포하면 충분합니다.
SourceBrowser 저자는 자신의 소스 코드에서 다음 명령어로 온라인 웹사이트를 생성하는 예시를 작성했습니다:
생성된 웹사이트를 다음 명령어로 시작합니다:
렌더링은 다음과 같습니다:
SourceBrowser는 매우 확장 가능하게 설계되었습니다. 술래6천만 줄의 코드를 쉽게 처리할 수 있습니다(모든 마이크로소프트 개발 부서의 소스 코드), 그리고1억 행까지 쉽게 확장할 수 있습니다。 즉, 현재 약 600만 개의 심볼(4GB RAM)이 존재합니다.
(끝) |