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)
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任