我正在编写一个批处理文件来自动执行一系列任务。其中一项任务是通过编辑解决方案中各个项目中的 assemblyinfo.cs 文件来更新解决方案中的 dll 版本;然后最后调用 msbuild.exe 来编译解决方案。
在这方面,是否可以编写一个命令行脚本来更新我的.net解决方案中的各种 assemblyinfo.cs 文件。我更愿意从命令行本身调用 msbuild,而不是创建另一个 msbuild 脚本文件。
如何使用 MSBuild 做到这一点?还有其他方法吗?
谢谢你的时间...
如果没有其他工具的帮助,使用 dos cmd 批处理文件编辑文件是相当麻烦的。
您需要使用类似 for /f 命令的命令来单步执行这些行,然后处理每一行。例如,查找以“[ assembly: AssemblyVersion”开头的行
并用其他东西替换它。
但是,如果您的 AssemblyInfo.cs 中没有太多内容(请记住,如果需要,您可以将 AssemblyInfo.cs 拆分为多个 cs 文件),我建议您使用几个 echo 语句从头开始创建该文件。
如果您有其他可用工具(例如 sed.exe),则可以轻松完成编辑。
这些天我更喜欢使用一个简单的 powershell 脚本,它可以把它当作早餐,并让你在需要时可以访问 .Net 库。
这是它的模板形式:
(Get-Content AssemblyInfo.template.cs) -replace "{version}","1.2.3.4" > AssemblyInfo.cs
这是一个使用正则表达式来替换其中的任何版本号的表单:
$x = 'Version("{0}")' -f "1.2.3.4"
$content = Get-Content AssemblyInfo.cs
$content -replace 'Version\(".*"\)',$x > AssemblyInfo.cs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)