在构建之前,我可以编写一个脚本来读取文本文件并将值写入我的应用程序的proj文件中吗?
特别是在构建之前,我想从我的解决方案中的简单文本文件中读取一个值,并将其写入.csproj文件夹中的AssemblyVersion。 1.0.2.0
答案 0 :(得分:1)
可以通过ReadLinesFromFile内置任务来从文件中读取版本。
.NET Framework :
获取版本后,需要将其传递给自定义目标:
<Target Name="EntryVersion" BeforeTargets="Build">
<Message Text="-----Entry-----" Importance="high"/>
<Message Text=" Write Version " Importance="high"/>
<Message Text="-----Entry-----" Importance="high"/>
<ItemGroup>
<Assembly Include="AssemblyProduct"><_Parameter1>$(Product)</_Parameter1></Assembly>
<Assembly Include="AssemblyCompany"><_Parameter1>$(Company)</_Parameter1></Assembly>
<Assembly Include="AssemblyVersion"><_Parameter1>$(Version)</_Parameter1></Assembly>
</ItemGroup>
<WriteCodeFragment AssemblyAttributes="@(Assembly)" Language="C#" OutputFile="..\GlobalAssemblyInfo.cs"/>
</Target>
此代码段生成将包含程序集属性的源文件。此外,输出文件必须作为链接包含在项目中,必须从AssemblyInfo
中删除使用的属性。
.NET Core |标准:
可以使用Version
中的本机属性MSBuild CLI
或从自定义目标中覆盖它。该值将自动添加到装配体属性中。
如果您使用ApplicationVersion
中的Microsoft.Extensions.PlatformAbstractions
,请参阅Issue 237。