2008-11-10 2 views
1

나는 신중하게 만들어진 XML 주석이 동료들에게 인텔리 센스에 나타나지 않는다는 사실을 최근에 약간 놀랐다. 관련 어셈블리를 항상 프로젝트 참조로 사용했기 때문에이 정보에 액세스하려면 .xml 문서를 내 보내야한다는 것을 깨닫지 못했습니다.프레임 워크 goto 정의는 주석을 표시하며, XML 주석에서 생성됩니까?

이것은 .Net 프레임 워크 intellisense가 어떻게 작동하는지 궁금해하게했습니다. 올바르게 이해하면 .xml 파일을 특수 폴더의 어딘가에 숨겨야합니까?

하지만 내 주된 질문은 'Goto definition'에 관한 것입니다. .NET 프레임 워크 어셈블리에 대한 정의로 이동하면 메타 데이터에서 생성 된 정보를 얻을 수 있지만 유용한 주석이 많이 있습니다. 또는 누군가가 매크로를 작성하여 빌드 용으로 변환하도록 했습니까? 다르게 표현 : 내 어셈블리에 어떻게 영향을 미칠 수 있습니까?

답변

1

프로젝트가 XML 문서를 생성하도록 구성되어 있습니까? 소스 코드에 주석을 추가하기 만하면 컴파일러는 지시가없는 한 .xml 파일을 생성하지 않습니다.

프로젝트 속성 페이지에서 "빌드"탭으로 이동하여 "출력"섹션을보십시오. "XML 문서 파일"이라는 확인란 항목이 표시되어야합니다. 이 체크 박스 다음의 텍스트 상자가 비어 있으면 XML 문서 파일을 생성하지 않습니다.

XML 문서 파일이 생성되면 IntelliSense 툴팁에 주석이 표시되어야합니다. 다른 프로젝트에 대한 참조를 프로젝트 참조로 포함 시키면 자동으로 이러한 일이 발생합니다. 어셈블리에 대한 참조를 포함하는 경우 xml 파일이 참조 된 어셈블리와 동일한 위치에 있는지 확인해야합니다. (빌드 할 때 bin/debug 또는 bin/release 폴더에있는 모든 어셈블리에 대해 xml 파일을 가져와야합니다.

.NET Framework 어셈블리 자체의 경우 해당 xml 설명서 파일이 설치됩니다 프레임 워크의 일부로 .NET 2.0, 3.0 또는 3.5의 경우 설명서 파일은 C:\Windows\Microsoft.NET\Framework\v2.0.50727\en (프레임 워크의 기본 설치를 가정)에 있습니다. 이러한 파일은이 정보를 표시하기 위해 IntelliSense 도구 설명과 Visual Studio의 "정의로 이동"기능에 사용됩니다. 이런 일이 일어나기 위해 매크로 나 매크로가 실행되는 특별한 처리가 없습니다. Visual Studio에서 가장 많이 사용하는 정보는 레지스트리 키의 조합으로 설명서 파일의 올바른 경로를 결정하는 것입니다.

아마도 자신의 어셈블리에 대한 xml 문서 파일을 같은 폴더에 배치 할 수 있지만 프레임 워크 관련 파일과 함께 프레임 워크 설치를 오염 시키면 그렇게하는 것이 좋습니다.

+0

감사합니다.하지만 System.Drawing 등의 프레임 워크 어셈블리에 대해 알고 싶었습니다. xml 파일은 어디에 있습니까? 내 XML 파일을 넣을 수 있습니까? 그리고 '메타 데이터에서 생성 된'주석은 어디에서 왔습니까? – Benjol

+0

죄송합니다. 네가 묻는 것을 오해 한 것이다. 내 대답을 업데이트했습니다. –

+0

추가 정보 주셔서 감사하지만 내 질문의 마지막 부분은 남아 있습니다 - '메타 데이터보기'보기 정의의 주석은 어디에서 유래합니까? – Benjol