如何正确使用MSBuild社区任务库在.NET dll上设置SVN版本号
发布时间:2020-09-02 02:48:30 所属栏目:Windows 来源:互联网
导读:我正在使用 MSBuild Community Task library获取当前SVN版本的一个集合,在我的AssemblyInfo文件中获取最终编译的dll中的修订版本. 如您所知,SVN版本可以像“28”或“28M” – 如果有修改.如果我执行MSBuild消息并输出Revision属性,我看到我在修改后得到了28M
|
我正在使用 MSBuild Community Task library获取当前SVN版本的一个集合,在我的AssemblyInfo文件中获取最终编译的dll中的修订版本. 如您所知,SVN版本可以像“28”或“28M” – 如果有修改.如果我执行MSBuild消息并输出Revision属性,我看到我在修改后得到了28M但是在更新AsseblyInfo时我在版本号中只得到28个..? 我想在版本号中加上28M来表示dll是使用非签入修改构建的.我怎样才能让它工作? <Target Name="Compile">
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(SvnTool)">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
<ItemGroup>
<AssemblyInfoFiles Include="x.aPropertiesAssemblyInfo.cs" />
<AssemblyInfoFiles Include="x.bPropertiesAssemblyInfo.cs" />
</ItemGroup>
<FileUpdate Files="@(AssemblyInfoFiles)"
Regex="(d+).(d+).(d+).(d+)"
ReplacementText="$(MajorVersion).$(MinorVersion).$(Revision).0" />
<MSBuild Projects="$(MSBuildProjectDirectory)ConfigExplorer.sln" Targets="Rebuild" Properties="Configuration=$(BuildType);" />
.Net程序集版本号是严格类型的.它们不仅仅是任何字符串,而是ushorts,这意味着它们的最大值为65535(参见文档
http://msdn.microsoft.com/en-us/library/cbf1574z.aspx).如果您使用svn修订版(就像我在某一点上所做的那样),一旦超过该幻数,您的构建就会中断.
我还使用的方案表明开发人员构建与CI构建是使用{year}.{month}.{day}.{build}形式的版本,其中使用额外的构建参数指定构建号.这给了我们构建的日期,并指出它是否是开发人员构建(即最后一个组件为零) (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows BATCH:如何为单个脚本禁用QuickEdit模式?
- winapi – Windows SDK 7.0的signtool中的signwizard发生了
- win10上部署Hadoop-2.7.3——非Cygwin、非虚拟机
- php在windows环境下获得cpu内存实时使用率(推荐)
- Windows – 无法从GitBash运行TASKKILL
- Vulkan Tutorial 01 开发环境搭建之Windows
- Windows 8应用程序是否运行符合标准的JavaScript,HTML5和CS
- windows-8 – 屏幕关闭时,WinRT应用程序可以继续运行吗?
- wpf – 使用WiX在应用程序的主要升级中从Windows 7任务栏中
- winforms – 在单元测试方法中显示Windows窗体
