Pregunta

Tengo varios archivos AssemblyInfo.cs como parte de muchos proyectos en una única solución que estoy creando automáticamente como parte de TeamCity.

Para que el script msbuild sea más fácil de mantener, me gustaría poder utilizar la tarea comunitaria AssemblyInfo junto con un ItemGroup, por ejemplo.

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

Lo cual evidentemente no funciona porque OutputFile no puede ser un ItemGroup al que se hace referencia.

¿Alguien sabe cómo hacer que esto funcione?

¿Fue útil?

Solución

Intente cambiar @ a % como se muestra a continuación

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

Esto crea una llamada para cada entrada en AllAssemblyInfos.

Eche un vistazo a este artículo también, debería ayudar.

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

Otros consejos

Usamos archivos "vinculados" en el proyecto.Explorador de soluciones -> Agregar elemento existente -> ..seleccione Archivo ..-> flecha_on_left_of_add_button -> Agregar como enlace

Luego, el archivo seleccionado (AssemblyInfo.cs por ahora) no se copia al directorio del proyecto, y solo se vincula desde la ruta especificada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top