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

Get AssemblyVersion number from AssemblyInfo.cs in Command Line

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

出于我的目的,我将 Squirrel 逻辑移至 "AfterBuild" 事件中的 .csproj 文件。现在,每次执行发布构建时,都会构建一个包和 "releasified" 以及可访问的版本号。

<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