Pergunta

Eu tenho vários arquivos de AssemblyInfo.cs como parte de muitos projetos em uma única solução que estou construindo automaticamente como parte do TeamCity.

Para tornar o script msbuild mais sustentável, eu gostaria de poder usar a tarefa da comunidade AssemblyInfo em conjunto com um grupo de item, por exemplo,

<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)" />

O que não funciona flagrantemente porque o OputFile não pode ser um grupo de item referenciado.

Alguém sabe como fazer isso funcionar?

Foi útil?

Solução

Tente alterar o @ para um % como abaixo

<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)" />

Isso cria uma chamada para todas as entradas no ALLASSEMBLYIRINFOS.

Dê uma olhada neste artigo também, deve ajudar.

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

Outras dicas

Usamos arquivos "vinculados" no projeto. Solution Explorer -> Adicionar item existente -> .. Select_file .. -> Arrow_on_Left_of_add_button -> Adicionar como link

Em seguida, o arquivo selecionado (AssemblyInfo.cs por enquanto) não é copiado para a direção do projeto, o BUD está ligado apenas do caminho especificado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top