我需要使用Powershell脚本从AssemblyInfo.cs中获取版本的前3位数字

问题描述 投票:0回答:1

在我们的项目中,我们有AssemblyInfo.cs

这里是一些代码...

 [assembly: AssemblyVersion("1.5.26.0")]
 [assembly: AssemblyFileVersion("1.5.26.0")]

我想要的是版本的前三位数字。

我有一个Powershell脚本,该脚本可以获取版本,但是我只需要前三位数字

$assemblyInfoPath = "D:\PC- Downloads\AssemblyInfo.cs"

$regex = '^\[assembly: AssemblyVersion\("(.*?)"\)\]'
$assemblyInfo = Get-Content $assemblyInfoPath -Raw

  $version = [Regex]::Match(
    $assemblyInfo, 
    $regex,
    [System.Text.RegularExpressions.RegexOptions]::Multiline
).Groups[1].Value 

参考链接:Put Assembly Version from AssemblyInfo.cs in Web.config

有人知道我如何实现吗?

string powershell variables .net-assembly
1个回答
0
投票

嗯...我会尝试...假设您已将源字符串保存到变量$sourceString

$sourceString = '[assembly: AssemblyVersion("1.5.26.0")]'

您可以切掉所有不需要的内容,并将结果转换为适当的点净版本类型:

[VERSION]$VersionString = $sourceString -replace '^.+((\d+\.){3}\d+).+', '$1'

现在您可以按名称访问所有单个元素:

$VersionString.Major
$VersionString.Minor
$VersionString.Build
$VersionString.Revision

$VersionString

结果将是这样:

1
5
26
0

Major  Minor  Build  Revision
---- - ---- - ---- - --------
1      5      26     0
© www.soinside.com 2019 - 2024. All rights reserved.