I am looking for a MSBuild task that will tell me the version of a specific dll. Is there a task available for this?
In my case the dll is a .Net assembly, so I'm actually looking for Assembly.FullName.
From stackoverflow
Mike Schall
-
GetAssemblyIdentity is your man. This task outputs contain item metadata entries named Version, PublicKeyToken, and Culture.
<ItemGroup> <MyAssemblies Include="File1.dll;File2.dll" /> </ItemGroup> <Target Name="RetrieveIdentities> <GetAssemblyIdentity AssemblyFiles="@(MyAssemblies)"> <Output TaskParameter="Assemblies" ItemName="MyAssemblyIdentities"/> </GetAssemblyIdentity> </Target>
From madgnome -
Thanks madgnome! I thought I would share the working code.
<Target Name="UpdateWebConfigVersion"> <GetAssemblyIdentity AssemblyFiles="lib\foo.dll"> <Output TaskParameter="Assemblies" ItemName="fooAssemblyInfo"/> </GetAssemblyIdentity> <XmlUpdate XmlFileName="src\Web\ServiceModel.Extensions.config" XPath="//extensions/behaviorExtensions/add[@name='silverlightFaults']/@type" Value="foo.ServiceModel.Extensions.Behaviors.SilverlightFaultBehavior, foo, Version=%(fooAssemblyInfo.Version), Culture=neutral, PublicKeyToken=XXXXXXXX"/> </Target>
quip : I make zip files in my build script, this helped me put the version number in the filename!!! Thanks!From Mike Schall -
Great! Exactly what i was looking for. Thnx!
ripper234 : Should be a comment, not an answer.From benzhi
0 comments:
Post a Comment