如何才能讀取的AssemblyFileVersion,或其組件AssemblyFileMajorVersion,AssemblyFileMinorVersion,AssemblyFileBuildNumber,AssemblyFileRevision,在.csproj的範圍內,以下編譯?讀的AssemblyFileVersion從集信息後編譯
我已經試過這拉從內置組件的信息如下:
<Target Name="AfterCompile">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output
TaskParameter="Assemblies"
ItemName="MyAssemblyIdentities"/>
</GetAssemblyIdentity>
<Message Text="AssemblyVersion = %(MyAssemblyIdentities.Version)" />
</Target>
但是,檢索的AssemblyVersion而不是的AssemblyFileVersion。後者似乎沒有記錄的元數據條目。我也試過:
<Import Project="$(MSBuildExtensionsPath)\ExtensionPack\MSBuild.ExtensionPack.tasks" />
<Target Name="AfterCompile">
<MSBuild.ExtensionPack.Framework.Assembly TaskAction="GetInfo" NetAssembly="$(TargetPath)">
<Output TaskParameter="OutputItems" ItemName="Info" />
</MSBuild.ExtensionPack.Framework.Assembly>
<Message Text="AssemblyFileVersion = %(Info.FileVersion)" />
</Target>
不幸的是,雖然這檢索正確的值,直到VS2008關閉也文件鎖的裝配。
坦率地說,既不是我想要的,我寧願直接從AssemblyInfo.cs中讀取信息。但是,我無法弄清楚如何做到這一點。我假設MSBuild Extensions中的AssemblyInfo是一種方式,但它似乎專注於寫入AssemblyInfo並且不從中檢索值。
我該如何最好的完成這件事?
+1只是詢問「我如何閱讀」而不是總是找到的內容:如何更新版本信息。 – Yoopergeek 2009-10-06 18:42:41
既然我問了這個問題已經兩個月了,唯一可用的答案是我自己的,我會繼續接受它。我仍然認爲可能有更好的辦法。 – Gregyski 2009-10-08 19:11:03
@Yoopergeek:的確,有幾種寫作方法,但即使經過大量研究,閱讀也難以實現。然而,我的回答確實很好。 – Gregyski 2009-10-08 19:11:49