Verwenden von AssemblyInfo zum automatischen Aktualisieren mehrerer AssemblyInfo.cs-Dateien
-
02-07-2019 - |
Frage
Ich habe mehrere AssemblyInfo.cs-Dateien als Teil vieler Projekte in einer einzigen Lösung, die ich automatisch als Teil von TeamCity erstelle.
Um das msbuild-Skript wartbarer zu machen, möchte ich die AssemblyInfo-Community-Aufgabe in Verbindung mit einer ItemGroup verwenden können, z. B.
<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)" />
Was offensichtlich nicht funktioniert, da OutputFile keine referenzierte ItemGroup sein kann.
Weiß jemand, wie das funktioniert?
Lösung
Versuchen Sie das @ auf einer%, wie unter
Ändern<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)" />
Dies erzeugt einen Aufruf für jeden Eintrag in AllAssemblyInfos.
Haben Sie einen Blick auf diese Artikel auch helfen sollte.
Andere Tipps
Wir verwenden „verlinkte“ Dateien im Projekt.Projektmappen-Explorer -> Vorhandenes Element hinzufügen -> ..Datei aussuchen ..->arrow_on_left_of_add_button -> Als Link hinzufügen
Dann wird die ausgewählte Datei (vorerst AssemblyInfo.cs) nicht in das Projektverzeichnis kopiert, sondern nur vom angegebenen Pfad aus verlinkt.