6

우리는 C#을 사용하는 데 집중되는 Microsoft의 상점입니다. XML 주석을 포함하는 웹 사이트, Windows 서비스 및 클래스 라이브러리를 포함한 여러 프로젝트가 있습니다.클래스 설명서 제안

각 프로젝트에 대해 MSDN 스타일의 HTML 문서를 생성하고 모든 개발자가 쉽게 액세스 할 수있는 중앙 위치에 배포하고자합니다. 또한 이러한 단계를 자동화하여 정기적 인 간격으로 실행할 수 있으므로 필자와 다른 개발자는 변경 사항이있을 때마다 새로운 문서를 생성하고 배포하는 것을 염려 할 필요가 없습니다. 나는 Sandcastle과 Doxygen을 보았고 둘 다 내가 원하는 문서를 생성하기위한 좋은 옵션이 될 것으로 생각한다.하지만 야간 일이나 다른 일과 같이 생성을 자동화하는 좋은 방법에 대한 조언이 필요하다.

누군가 이런 식으로 뭔가를하고 있습니까? 나는 최종 결과 HTML로 팔리지 않는다. 특히 더 좋은 아이디어가 있다면.

편집 :

나는 좋은 아이디어의 모든 주셔서 감사합니다. 지금 조사 할 수있는 몇 가지 경로가 있지만 손이 더러워지기 전까지 가장 잘 작동하는 경로는 알 수 없습니다. Sandcastle Help File Builder는 내가하고 싶은 것에 대한 최상의 옵션을 제공하는 것 같아서, 그 제안에 대한 고개를 끄덕이게 할 것입니다. 그러나 XSLT 및 CSS 솔루션을 사용하여 XML 데이터를 올바르게 볼 수있는 시간이 더 필요하다면 먼저 제안을 추구 할 것입니다.

다시 한 번 감사드립니다.

답변

2

Sandcastle Help File Builder을 살펴보십시오. 독립 실행 형 프로젝트를 사용하므로 원하는대로 자주 빌드 할 수 있습니다 (예 : 변경 사항을 체크인 할 때마다 밤에 또는 continuous integration 시스템의 일부로).

+1

나는 SHFB에도 부분적이다; 당신은 내 기사 [Taming Sandcastle : 코드를 문서화하는 .NET 프로그래머 가이드] (http://www.simple-talk.com/dotnet/.net-tools/taming-sandcastle-a-.net-)-을 참고할 수 있습니다. 프로그래머 - 가이드 - 문서화 - 귀하의 코드 /)를 Simple-Talk.com에서 사용하여 "다리를 돋보이게"하십시오. –

+0

기사를 읽으십시오. 즐겁게 보냈어. 그것을 북마크했습니다. 이미 내가 찾은 :-) –

+0

당신이 그것을 즐거워서 기뻐 - 다시 :-) –

1

나는 우리 프로젝트에서 그렇게한다. 기본적으로 doxywizard를 사용하여 생성 된 html에 대한 사양을 설정할 구성 Doxyfile을 설정합니다. 그런 다음 빌드 서버 단계에서 "doxygen doxyfile"을 호출합니다.

Doxyfile은 웹 서버에서 볼 수있는 영역에 doxygen 파일을 생성하도록 구성되어 있습니다. 따라서 트렁크에 대한 각 커밋은 문서가 자동으로 다시 작성되도록합니다.

2

훌륭한 설명서를 생성하기 위해 타사 도구가 필요하지 않습니다. C# 컴파일러는 XML 주석의 XML 문서를 XML로 출력 할 수 있으며 브라우저에 표시하기 위해 멋진 CSS를 설계하는 데 필요한 모든 것이 있습니다. 만족스럽지 않으면 CSS (as described here)를 적용하기 전에 자신 만의 XSLT-transoformation을 생성 할 수도 있습니다 (주석에 CSS 예제가 있습니다!).

또는 XML 문서를 가지고 NDoc과 같은 것을 사용하여 개선 할 수 있습니다. 불행히도 다소 구형 인 방법에 대해서는 nice article입니다.

/doc:documentationfilename.xml 매개 변수로 컴파일러를 실행하면 수동으로 프로젝트의 문서 만 단일 XML 파일로 빌드 할 수 있습니다.

Visual Studio (프로젝트 속성 -> 문서)에서이 옵션을 프로젝트의 모든 빌드에 추가하여 프로젝트를 빌드 할 때마다 XML 파일이 생성되도록 지정할 수도 있습니다. 그런 다음 빌드 후 이벤트를 연결하여 XML 파일을 저장소에 복사 할 수 있습니다.

또한 Team Foundation Server에서 MS Build를 설정하여 설명서를 작성한 다음 비슷한 방식으로 저장소에 복사 할 수 있습니다 (/p:DocumentationFile=fileName.xml).