문제

Visual Studio의 빌드 단계를 통해 HTML 문서화를 자동으로 구축하려면 어떤 단계를 수행해야합니까? 모든 주석과 주석이 생성되고 Sandcastle이 설치되어 있습니다. 문서를 생성하기 위해 빌드 후 단계에 추가해야 할 사항을 알아야합니다.

도움이 되었습니까?

해결책

이 질문이 요청 된 이후 일부 변경이 이루어졌습니다. 샌드 캐슬은 더 이상 포함되지 않습니다 SandcastleBuilderConsole.exe. 대신 그것은 평범한 오래된 것을 사용합니다 MSBuild.exe.

이것을 Visual Studio와 통합하려면 여기에 내가 한 일이 있습니다.

이것을 구축 후 이벤트에 배치하십시오.

IF "$(ConfigurationName)"=="Release" Goto Exit

"$(SystemRoot)\microsoft.net\framework64\v4.0.30319\msbuild.exe" /p:CleanIntermediates=True /p:Configuration=Release "$(SolutionDir)ProjectName\doc\DocumentationProjectName.shfbproj"

:Exit

이로 인해 Visual Studio는 "릴리스"모드로 작성할 때만 문서를 작성하게됩니다. 그렇게하면 개발 중에 "디버그"모드를 구축 할 때 영원히 기다리지 않습니다.

몇 가지 메모 :

  • 내 시스템은 64 비트입니다. framework64 ~와 함께 framework 길에 msbuild.exe.

  • 설정 한 방법은 솔루션에 각 프로젝트를 개별적으로 문서화하는 것입니다. 여러 프로젝트를 포함하는 "Sandcastle 도움말 파일 빌더"프로젝트 파일이 있으면 아마도 제거하고 싶을 것입니다. ProjectName\ 그리고 움직입니다 doc 솔루션 디렉토리로. 이 경우 솔루션에서 마지막으로 구축 된 프로젝트에 만 빌드 후 이벤트 명령을 배치하려고합니다. 모든 프로젝트에 대한 빌드 후 이벤트에 넣으면 구축 된 각 프로젝트에 대한 문서를 재건 할 것입니다. 말할 것도없이, 당신은 잠시 거기에 앉아있을 것입니다. 개인적으로 나는 각 프로젝트를 개별적으로 문서화하는 것을 선호하지만 그것은 저입니다.

Sandcastle 및 "Sandcastle 도움말 파일 빌더"설치.

Sandcastle과 "Sandcastle Help 파일 빌더"설정을 올바르게 얻는 방법을 모르는 경우 다음 단계를 따르십시오.

  1. Sandcastle을 다운로드하여 설치하십시오 http://sandcastle.codeplex.com/ (64 비트 시스템이있는 경우 환경 변수를 추가해야합니다. 지침은 다음과 같습니다. 여기.

  2. "Sandcastle Help File Builder"를 다운로드하여 설치합니다. http://shfb.codeplex.com/ (MSHELP2에 대한 경고를 무시하십시오.

  3. 설치 한 후에는 "Sandcastle Help File Builder"를 사용하여 새 문서 프로젝트를 만듭니다. 파일을 저장할 위치를 묻는 경우 솔루션/프로젝트에있는 문서 폴더에 저장하십시오.http://www.chevtek.com/temp/newproject.jpg

  4. 새 프로젝트를 만든 후에는 어떤 종류의 문서를 작성 해야하는지 선택해야합니다. 컴파일 된 Windows 도움말 파일, 웹 사이트 또는 둘 다.http://www.chevtek.com/temp/documentationtype.jpg

  5. 문서를 생성하려는 디렉토리에 SHFB 프로젝트 파일을 저장 한 경우이 단계를 건너 뛸 수 있습니다. 그러나 생성 된 문서를 다른 곳에 배치하려면 출력 경로를 조정해야합니다.http://www.chevtek.com/temp/outputpath.jpg참고 : 출력 경로에 대해 명심해야 할 한 가지는 (한 시간 동안 저를 좌절 시켰습니다) 웹 사이트를 원하는 문서 유형으로 확인하면 출력 경로에서 콘텐츠를 덮어 쓰는 것입니다. 그들이 당신에게 소홀히하는 것은 SHFB가 의도적으로 특정 폴더가 출력 경로의 일부로 포함되는 것을 제한했다는 것입니다. 데스크탑은 그러한 폴더 중 하나입니다. 출력 경로는 데스크탑의 하위 폴더조차도 데스크탑에있을 수 없습니다. 내 문서도 할 수는 없지만 내 문서의 하위 폴더가 될 수 있습니다. 문서를 작성할 때 오류가 발생하면 출력 경로를 변경하여 수정되는지 확인하십시오. 보다 http://shfb.codeplex.com/discussions/226668?projectname=shfb 이것에 대한 자세한 내용은.

  6. 마지막으로 문서화하려는 프로젝트에 대한 참조를 추가해야합니다. 나와 같은 개별 프로젝트를 수행하는 경우 작성한 각 SHFB 프로젝트 파일에 대해 해당 .CSPROJ 파일을 참조합니다. 전체 솔루션에 대한 SHFB 프로젝트가 하나 인 경우 솔루션의 .SLN 파일을 찾을 수 있습니다. (Sandcastle은 컴파일 된 DLL을 참조하면 작동하지만 Visual Studio와 통합하기 때문에 프로젝트/솔루션 파일을 대신 참조하는 것이 더 합리적입니다. 이것은 또한 어떤 프로젝트가 중요하지 않다는 것을 의미 할 수도 있습니다. DLL 대신 코드를 참조하기 때문에 빌드 후 이벤트를 수행하지만 안전하고 구축 된 마지막 프로젝트에 안전하게 설명하는 것이 좋습니다).http://www.chevtek.com/temp/addsource.jpg

  7. 프로젝트를 저장하면 "Sandcastle 도움말 파일 빌더"를 닫을 수 있습니다. 이제 모든 것이 설정됩니다. 배치 명령이 건축 후 이벤트에서 가리키는 적절한 폴더에 문서 프로젝트 파일을 넣으십시오.

내 짧은 튜토리얼이 도움이되기를 바랍니다! Sandcastle을 사용하는 방법을 보여주는 괜찮은 튜토리얼을 찾는 것은 매우 어려웠습니다. 미래의 Google 검색 이이 질문을 제기 할 수 있기를 바랍니다.

다른 팁

Sandcastle 도움말 파일 빌더를 설치하는 것이 좋습니다 코드 플렉스.

예를 들어 건축 후 이벤트에서 명령 줄에서 이것을 실행할 수 있습니다. 가장 간단한 명령 줄은 다음과 같습니다.

<install-path>\SandcastleBuilderConsole.exe ProjectName.shfb

Sandcastle은 매우 느리기 때문에 릴리스 빌드를 위해서만 실행합니다. 이렇게하려면 다음과 같은 명령으로 건축 후 이벤트를 작성하여 구성 이름을 배치 파일로 전달합니다.

CALL "$(ProjectDir)PostBuild.cmd" $(ConfigurationName)

그런 다음 배치 파일 내부에서 첫 번째 인수가 "릴리스"인지 테스트 할 수 있으며 SandcastleBuilderConsole.exe를 실행할 수 있습니다.

위에서 제안한 대로이 작업을 수행하는 쉬운 방법은 Sandcastle 도움말 파일 빌더를 사용하는 것입니다. 명령 라인에서 빌드 프로세스에 대한 몇 가지 변경 사항이 있었으며 이제 이러한 프로젝트는 SandcastleBuilderConsole.exe 대신 MSBuild로 구축 할 수 있습니다. 그래서 당신이해야 할 일은 다음과 같습니다.

msbuild.exe projectname.shfb

나는 현재 버전의 Sandcastle이 약간 부족하다는 것을 인정해야한다. 대규모 프로젝트의 경우 매우 느리고 통합하기가 쉽지 않습니다 (아직 초기이기 때문에).

정기적으로 사용하기 위해 실제로 DLL 및 XML 파일이있는 폴더에서 반사기를 가리키는 것이 더 쉽습니다. IIRC는 탐색 할 때 XML 파일을로드합니다.

게다가 나는 거의 항상 반사기를 열었다 ...

편집] 확인 된 및 예 -XML 댓글이 Disassembler 패널에 표시됩니다.

이것들을 설치하십시오 :

NDOC : http://prdownloads.sourceforge.net/ndoc/ndoc-v1.3.1.msi?download

HTML 도움말 워크숍 : http://www.microsoft.com/downloads/details.aspx?familyid=00535334-c8a6-452f-9aa0-d597d16580cc&displaylang=en

그런 다음 ndocconsole.exe 명령 줄을 사용하여 MSDN 또는 CHM 양식에서 문서를 생성합니다.

@c : progra ~ 1 ndoc ndocconsole.exe mycode.dll, mycode.xml -documenter = msdn -chm

나 자신은 이것을 위해 외부 도구를 만들고 바로 가기를 주었다. 그러나 이전 포스터에서 말했듯이, 당신은 그것을 구축 후 이벤트에 연결할 수있다.

(PS 나는 몇 년 동안 위의 설정을 사용해 왔으며 매우 만족합니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top