gpt4 book ai didi

c# - 使用正则表达式从 AssemblyInfo.cs 文件中检索程序集版本

转载 作者:太空狗 更新时间:2023-10-29 21:24:51 26 4
gpt4 key购买 nike

在 AssemblyInfo.cs 文件中有这个字符串:[assembly: AssemblyVersion("1.0.0.1")] 我试图一个一个地检索其中的数字,每个都是一个以下结构中的变量。

static struct Version
{
public static int Major, Minor, Build, Revision;
}

我正在使用这种模式来尝试检索数字:

string VersionPattern = @"\[assembly\: AssemblyVersion\(""(\d{1,})\.(\d{1,})\.(\d{1,})\.(\d{1,})""\)\]";

但是,当我使用这段代码时,结果并不像预期的那样,而是显示完整的字符串,就好像它是真正的匹配而不是组中的每个数字。

Match match = new Regex(VersionPattern).Match(this.mContents);
if (match.Success)
{
bool success = int.TryParse(match.Groups[0].Value,Version.Major);
...
}

在这种情况下,this.mContents 是从文件中读取的整个文本,match.Groups[0].Value 应该是来自 AssemblyVersion 的“1”

我的问题是用 Regex 一个一个地检索这些数字。

这个小工具用于在每次 Visual Studio 构建它时增加应用程序版本,我知道有很多工具可以做到这一点。

最佳答案

第一组正在展示完整的比赛。您的版本号在 1-4 组中:

int.TryParse(match.Groups[1].Value, ...)
int.TryParse(match.Groups[2].Value, ...)
int.TryParse(match.Groups[3].Value, ...)
int.TryParse(match.Groups[4].Value, ...)

关于c# - 使用正则表达式从 AssemblyInfo.cs 文件中检索程序集版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5123876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com