自动获取版本号,从文件版本号获取

This commit is contained in:
zqm
2025-12-23 09:57:00 +08:00
parent 4ca836df37
commit 4e12c1ea6f
3 changed files with 24 additions and 6 deletions

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.1.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.1.0")]

View File

@@ -45,16 +45,16 @@ namespace JoyD.Windows.CS
/// <returns>计算得到的CRC32校验值</returns> /// <returns>计算得到的CRC32校验值</returns>
public static uint CalculateCRC32(byte[] data) public static uint CalculateCRC32(byte[] data)
{ {
return CalculateCRC32(0xFFFFFFFF, data); return CalculateCRC32(data, 0xFFFFFFFF);
} }
/// <summary> /// <summary>
/// 支持增量计算的CRC32-MPEG2算法实现 /// 支持增量计算的CRC32-MPEG2算法实现
/// </summary> /// </summary>
/// <param name="crc">初始CRC值用于增量计算</param> /// <param name="crc">上次CRC值用于增量计算首次为0xFFFFFFFF</param>
/// <param name="data">要计算CRC32的数据字节数组</param> /// <param name="data">要计算CRC32的数据字节数组</param>
/// <returns>计算得到的CRC32校验值</returns> /// <returns>计算得到的CRC32校验值</returns>
public static uint CalculateCRC32(uint crc, byte[] data) public static uint CalculateCRC32(byte[] data, uint crc = 0xFFFFFFFF)
{ {
uint polynomial = 0x04C11DB7; uint polynomial = 0x04C11DB7;

View File

@@ -10,7 +10,25 @@ $targetDllName = "JoyD.Windows.CS.Utils.dll" # 保持与AssemblyName一致
# NuGet包元数据配置 - 在此处修改所有元数据 # NuGet包元数据配置 - 在此处修改所有元数据
$packageId = "com.joyd.utils" $packageId = "com.joyd.utils"
$version = "1.0.0.0" # 更新版本号以确保用户安装的是修复后的版本
# 从AssemblyInfo.cs的AssemblyFileVersion获取版本号
$assemblyInfoPath = Join-Path $scriptDir "Utils\Properties\AssemblyInfo.cs"
if (Test-Path $assemblyInfoPath) {
$assemblyInfoContent = Get-Content -Path $assemblyInfoPath -Encoding UTF8 -Raw
# 只从AssemblyFileVersion获取版本号
$fileVersionMatch = [regex]::Match($assemblyInfoContent, '(?<!//)\[assembly: AssemblyFileVersion\("(.*?)"\)\]')
if ($fileVersionMatch.Success) {
$version = $fileVersionMatch.Groups[1].Value
Write-Host "从AssemblyFileVersion获取到版本号: $version"
} else {
Write-Host "错误: 无法从AssemblyInfo.cs的AssemblyFileVersion中获取版本号" -ForegroundColor Red
exit 1
}
} else {
Write-Host "错误: 找不到AssemblyInfo.cs文件" -ForegroundColor Red
exit 1
}
$title = "通用工具库" $title = "通用工具库"
$authors = "曾庆明" $authors = "曾庆明"
$owners = "JoyD Technology" $owners = "JoyD Technology"