2012-02-27 22 views
0

我想使用AssemblyInfo.cs中聲明的版本號作爲後構建命令行中的文件夾名稱。如何將版本號提取爲一個變量設置爲文件夾名稱?或者還有其他方法嗎?使用AssemblyInfo.cs VersionNumber作爲後構建命令行中的文件夾名稱或任何其他替代方式

我試着使用SED工具和使用Filever,但它似乎並不在這個崗位Determine Assembly Version during a Post Build Event?

+0

看看http://stackoverflow.com/questions/5139709/how-can-i-retrieve-major-minor-build-revision-number-on-build-events – 2012-02-27 09:54:55

+0

對不起,我是新來的我真的不明白它的意思。你能簡單地向我解釋一下嗎? – user1235085 2012-02-28 01:33:08

回答

0

您需要添加/在你的build文件編輯AfterBuild目標爲提工作,這個構建文件可能在的csproj/vbproj文件爲您的項目取決於你想要實現的。如果添加此

<Target Name="AfterBuild"> 
    <GetAssemblyIdentity AssemblyFiles="$(TargetPath)"> 
     <Output TaskParameter="Assemblies" ItemName="AssemblyVersion"/> 
    </GetAssemblyIdentity> 
    <Copy SourceFiles="$(TargetPath)" DestinationFiles="C:\build\%(AssemblyVersion.Version)\$(TargetName).dll" /> 
    </Target> 

它將在這種情況下複製大會建立由的csproj文件到C:\編譯\版本號\ MyAssembly.dll程序。

+0

我有AssemblyVersion.Version,它返回0.0.0.0(不匹配我在Assembly.cs中設置的1.0.0版本),但是當我使用AssemblyVersion.Version時,它不返回任何內容(空字符串)?但是我的源文件是$(TargetDir)\ $(TargetName).exe – AgentKnopf 2013-05-30 12:47:51

相關問題