响应文件属性可以包含变量替换吗?

问题描述 投票:0回答:1

我有一个这样的响应文件:

-p:Copyright="Copyright C KittenMittens $(Year)"

MSBuild 命令如下:

msbuild.exe solution.sln -p:Year=2024 @responsefile.rsp

但是程序集版权无论如何都会以 $(Year) 结束。将相同的字符串放入 .csproj 文件中,$(Year) 被正确替换。我尝试了不同的方法来替换响应文件中的变量,但现在我没有主意了。还有人知道如何做吗?

msbuild
1个回答
0
投票

@jonathan-dodds 的评论:

-property 开关不会对提供的值执行属性扩展。将开关移至响应文件并不会改变这一点。


替代方案:

  • 将属性
    <Copyright>Copyright C $(CopyrightOwner) $(Year)</Copyright>
    添加到项目文件中(由乔纳森提供)
  • 在 MSBuild 命令中进行替换,如
    msbuild.exe -p:Copyright="Copyright ... $(Year)"
© www.soinside.com 2019 - 2024. All rights reserved.