【问题标题】:Replace string in ASPX with build version at build time在构建时将 ASPX 中的字符串替换为构建版本
【发布时间】:2026-01-04 10:55:01
【问题描述】:

有没有办法在 aspx/ascx 文件中查找模式并将其替换为内部版本号或其他令牌?我对在运行时使用反射和设置字符串不感兴趣。我想进入 aspx/ascx 文件并使用 msbuild 替换字符串。

这可能吗?

【问题讨论】:

标签: c# asp.net .net msbuild


【解决方案1】:

有一个名为 MSBuild Community Tasks 的项目包含一个 FileUpdateTask。这应该满足您的要求。它允许您使用正则表达式进行任意文本替换。

<FileUpdate Files="MyWebPage.aspx"
            Regex="\<div id\=\'version\'\>(.*)\<\/div\>"
            ReplacementText="$(BuildVersion)" />

请注意,我没有测试过这个正则表达式。

【讨论】: