2008-12-05 7 views
1

Tousinformations Version Assemblée pour Récupération de plusieurs DLL dans msbuild

Je suis assez à l'aise avec les informations de version d'assemblage d'écriture pour un projet donné qui sortira en tant que DLL.

Cependant, ce que je cherche à faire maintenant est de parcourir chaque DLL dans un dossier \ Bin, de récupérer les informations d'assemblage et de les écrire dans un fichier versions.txt.

Quelqu'un at-il réussi à atteindre un objectif similaire?

Répondre

1

Vous pouvez à que l'utilisation WriteVersionToFile cible MSBuild défini ci-dessous:

<PropertyGroup> 
    <VersionsFile>versions.txt</VersionsFile> 
</PropertyGroup> 

<ItemGroup> 
    <!-- Assemblies for which you want versions--> 
    <AssemblyFiles Include="Bin\**\*.dll"/> 
</ItemGroup> 

<Target Name="ExtractVersions"> 
    <GetAssemblyIdentity AssemblyFiles="@(AssemblyFiles)"> 
    <Output TaskParameter="Assemblies" ItemName="MyAssemblyIdentities"/> 
    </GetAssemblyIdentity> 
    <Message Text="%(MyAssemblyIdentities.Name) - Version %(Version)"/> 
</Target> 

<Target Name="WriteVersionToFile" DependsOnTargets="ExtractVersions"> 
    <Delete Files="$(VersionsFile)" /> 
    <WriteLinesToFile File="$(VersionsFile)" 
        Lines="%(MyAssemblyIdentities.Name) - %(Version)" 
        Overwrite="false" 
        Encoding="Unicode"/> 
</Target> 


fichier de sortie versions.txt ressemblera que:

ICSharpCode.SharpZipLib - 0.85.4.369 
nunit.framework - 2.4.7.0 
Test.Rules - 0.2.0.0 
+0

Get erreur pour moi: erreur MSB4064: paramètre "Encoding" pas compatible avec la tâche "WriteLinesToFile" – Kiquenet

Questions connexes