문제

TeamCity의 일부로 자동으로 구축하는 단일 솔루션에 여러 프로젝트의 일부로 여러 AssemblyInfo.cs 파일이 있습니다.

msbuild 스크립트를 보다 쉽게 ​​유지 관리할 수 있도록 ItemGroup과 함께 AssemblyInfo 커뮤니티 작업을 사용할 수 있기를 바랍니다.

<ItemGroup>
     <AllAssemblyInfos Include="..\**\AssemblyInfo.cs" />
</ItemGroup>

<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)" 
                  ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)" 
                  AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="@(AllAssemblyInfos)" />

OutputFile은 참조된 ItemGroup이 될 수 없기 때문에 노골적으로 작동하지 않습니다.

이 작업을 수행하는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

아래와 같이 @를 %로 변경해 보세요.

<ItemGroup>
 <AllAssemblyInfos Include="..\**\AssemblyInfo.cs" />
</ItemGroup>

<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)" 
                              ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)" 
                              AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="%(AllAssemblyInfos)" />

그러면 AllAssemblyInfos의 모든 항목에 대한 호출이 생성됩니다.

이 기사도 살펴보시면 도움이 될 것입니다.

http://blogs.msdn.com/aaronhallberg/archive/2006/09/05/msbuild-batching-geneating-a-cross-product.aspx

다른 팁

우리는 프로젝트에서 "링크된" 파일을 사용합니다.솔루션 탐색기 -> 기존 항목 추가 -> ..선택_파일 ..-> arrow_on_left_of_add_button -> 링크로 추가

그런 다음 선택한 파일(지금은 AssemblyInfo.cs)이 프로젝트 디렉터리에 복사되지 않고 bud는 지정된 경로에서만 연결됩니다.

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