从命令行中的AssemblyInfo.cs获取AssemblyVersion编号

时间:2016-05-20 14:47:31

标签: visual-studio jenkins command-line squirrel.windows

我正在尝试自动化Jenkins的工作来构建和部署visual studio解决方案。我们已经可以让Jenkins建立这个项目了。我已经创建了一个批处理文件,Jenkins在部署Squirrel包的项目构建之后运行,但我已经参数化了批处理文件以及Jenkins作业,这意味着每次运行作业时我仍然手动输入版本号。我们需要的是从项目中提取版本号,以便它可以用作Squirrel批处理文件中的参数。

1 个答案:

答案 0 :(得分:0)

出于我的目的,我将Squirrel逻辑移动到" AfterBuild"中的.csproj文件。事件。现在,每次执行Release版本时,都会构建一个包并且"重新启动"以及可访问的版本号。

<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release'">
    <GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
      <Output TaskParameter="Assemblies" ItemName="myAssemblyInfo"/>
    </GetAssemblyIdentity>
    <Exec Command="D:\Squirrel\nuget pack &quot;D:\Squirrel\Nuspec Files\OurApplication.nuspec&quot; -Version %(myAssemblyInfo.Version)" />
    <Exec Command="D:\Squirrel\Squirrel.Windows-1.4.0\squirrel --releasify D:\Jenkins\default\Projects\OurApplication\Windows\OurApplication.%(myAssemblyInfo.Version).nupkg -r D:\Squirrel\Releases\OurApplication" />
  </Target>

请参阅https://github.com/Squirrel/Squirrel.Windows/blob/master/docs/using/visual-studio-packaging.md