2017-11-04 13 views
1

여러 대상이있는 라이브러리 프로젝트가 있습니다. CSPROJ에 파일이 있습니다여러 대상이있는 CSPROJ에 대한 XML 문서를 생성하는 방법

<TargetFrameworks>net40;net46;net461;net462;net47</TargetFrameworks> 

내가 빌드 구성 관리자를 사용하여 UI에서 차례로 각 하나를 선택해야 다음 설정이 모든 대상 프레임 워크의 조합 DebugRelease 구성을위한 XML 문서를 원하는 경우 해당 조합에 대한 XML 문서를 작성한 다음 각 조합을 CSPROJ에 XML 문서의 출력 파일과 함께 PropertyGroup으로 별도로 나열합니다.

더 좋은 방법이 있습니까? 더 나은

<!-- Build XML documentation for all combinations of target framework x configuration --> 
<PropertyGroup> 
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml 
</DocumentationFile> 
</PropertyGroup> 

:

게시 질문과 답변 나는이 온라인으로 다른 곳 문서화이 문제를 해결하는

답변

2

쉬운 방법은 true로 GenerateDocumentationFile 속성을 설정하는 것입니다. VS UI가 경로를 설정하려고하면 MSBuild 대상은 경로가 설정되어 있으면이 속성을 true로 설정하거나 GenerateDocumentationFile 속성이 true 인 경우 기본 경로를 설정합니다. 그래서 당신은 당신의 csproj 파일에이를 추가 할 수 있습니다

<PropertyGroup> 
    <GenerateDocumentationFile>true</GenerateDocumentationFile> 
</PropertyGroup> 

다음과 같은 내용으로 솔루션의 디렉토리에 Directory.Build.props라는 이름의 파일을 생성, 모든 프로젝트를 공유 할 수 true로 설정하려면 그것은 것입니다 아래 디렉터리 계층 구조의 프로젝트로 자동 가져 오기 :

<Project> 
    <PropertyGroup> 
    <GenerateDocumentationFile>true</GenerateDocumentationFile> 
    </PropertyGroup> 
</Project> 
1

한 가지 방법을 발견하지 않았기 때문에하는 것은 각 CSPROJ 파일에 다음을 포함하는 것입니다 공유 구성 파일에 연결하는 방법은 다음과 같습니다.

<!-- This must come after any other configuration so that it overwrites it --> 
<Import Project="$(MSBuildThisFileDirectory)..\Shared.msbuild" /> 

... 그런 다음 위의 줄을 당신은 또한 Product, Company, Copyright처럼 다른 모든 솔루션 전체 CSPROJ 설정을 설정할 수 있습니다 hared 구성 파일 ...