gpt4 book ai didi

msbuild - 如何从外部文件中读取属性值?

转载 作者:IT老高 更新时间:2023-10-28 11:23:59 24 4
gpt4 key购买 nike

我在构建过程中自动生成了 AssemblyInfo.cs 文件。这是 .csproj 文件的一部分:

<PropertyGroup>
<Major>2</Major>
<Minor>3</Minor>
<Build>0</Build>
<Revision>0</Revision>
</PropertyGroup>
<Target Name="BeforeBuild">
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="C:\Program Files\VisualSVN Server\bin">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
<AssemblyInfo CodeLanguage="CS"
OutputFile="$(MSBuildProjectDirectory)\Properties\VersionInfo.cs"
AssemblyVersion="$(Major).$(Minor).$(Build).$(Revision)"
AssemblyFileVersion="$(Major).$(Minor).$(Build).$(Revision)"/>
</Target>

但我不知道如何在 .csproj 文件之外指定 MajorMinor 属性,因此我不必每次想更改版本时都卸载项目.我需要从项目内的特殊文本文件中加载它们,或者以某种方式在项目属性对话框中设置它们。有什么建议吗?

最佳答案

使用 ReadLinesFromFile 在单独的文件中制作版本:

<ReadLinesFromFile File="Properties\Version.txt">
<Output TaskParameter="Lines" ItemName="Ver" />
</ReadLinesFromFile>
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="C:\Program Files (x86)\VisualSVN Server\bin">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
<Message Text="Version: @(Ver).$(Revision)" />
<AssemblyInfo
CodeLanguage="CS"
OutputFile="$(MSBuildProjectDirectory)\Properties\VersionInfo.cs"
AssemblyVersion="@(Ver).$(Revision)"
AssemblyFileVersion="@(Ver).$(Revision)"/>

关于msbuild - 如何从外部文件中读取属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com