vs读取Xml中的版本号到AssemblyInfo.cs中AssemblyVersion

不知道其他人是否有用过VS自己生成的版本号,类似这种

 但实际我们使用的版本号是x.z.y形式,Version3.0.3,这种版本号手动写入到xml中,这意味着不能再程序集中标记3.0.3。

思路:所以使用项目生成之前的预编译执行脚本进行处理。从XML中读取版本号到AssemblyVersion中,然后编译出来的版本就是如期望的那样。

 结果:

 处理方案:

1、新建一个Powershell脚本。UpdateAssemblyVersion.ps1

2、写入以下内容

# 读取当前Powershell所在的文件夹
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
# 读取AssemblyInfo.cs文件内容
$assemblyInfoPath = "$scriptPath\Properties\AssemblyInfo.cs" 
Write-Host "路径是 $assemblyInfoPath"
# 获取FullScreen节点的值
$fullScreenValue = (Select-Xml -Path $scriptPath"\ServerLocal.xml" -XPath "//ServerConfigure/SoftwareVersion").Node.InnerText
Write-Host "路径是 $fullScreenValue"

$assemblyInfoContent = Get-Content -Path $assemblyInfoPath -Raw

# 构建新的AssemblyVersion属性字符串
$newAssemblyVersion = '[assembly: AssemblyVersion("{0}")]' -f$fullScreenValue

# 替换AssemblyVersion属性
$assemblyInfoContent =$assemblyInfoContent -replace '\[assembly: AssemblyVersion\(".*?"\)\]', $newAssemblyVersion

# 将更新后的内容写回AssemblyInfo.cs文件
Set-Content -Path $assemblyInfoPath -Value $assemblyInfoContent

3、项目属性的预编译中写入以下内容

 完成

  作者:兮去博客
出处:vs读取Xml中的版本号到AssemblyInfo.cs中AssemblyVersion - 兮去 - 博客园 (cnblogs.com)
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

 
posted @ 2024-03-15 14:23  兮去  阅读(10)  评论(0编辑  收藏  举报