正在MSbuild中检索多个DLL的程序集版本信息

正在MSbuild中检索多个DLL的程序集版本信息,msbuild,assemblies,Msbuild,Assemblies,我非常熟悉为一个给定的项目编写程序集版本信息,该项目将作为DLL输出 但是,我现在要做的是检查\Bin文件夹中的每个DLL,检索程序集信息并将其写入versions.txt文件 有没有人实现过类似的目标 您可以使用下面定义的WriteVersionToFileMSBuild目标来访问该文件: <PropertyGroup> <VersionsFile>versions.txt</VersionsFile> </PropertyGroup>

我非常熟悉为一个给定的项目编写程序集版本信息,该项目将作为DLL输出

但是,我现在要做的是检查\Bin文件夹中的每个DLL,检索程序集信息并将其写入versions.txt文件


有没有人实现过类似的目标

您可以使用下面定义的
WriteVersionToFile
MSBuild目标来访问该文件:

<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>

您可以使用下面定义的
WriteVersionToFile
MSBuild目标来访问该文件:

<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>

为我获取错误:错误MSB4064:“编码”参数与“WriteListFile”任务不兼容获取错误:错误MSB4064:“编码”参数与“WriteListFile”任务不兼容