Visual studio 2010 我想更新版本号的项目,每次我推f5的建设 我们目前拥有的: SVN作为源存储库 用于生成和设置版本号的MSBuild脚本 此版本号是生成文件中的属性和SVN的最新版本的组合 巡航控制以运行构建脚本 我想做的是:

Visual studio 2010 我想更新版本号的项目,每次我推f5的建设 我们目前拥有的: SVN作为源存储库 用于生成和设置版本号的MSBuild脚本 此版本号是生成文件中的属性和SVN的最新版本的组合 巡航控制以运行构建脚本 我想做的是:,visual-studio-2010,svn,msbuild,automation,cruisecontrol.net,Visual Studio 2010,Svn,Msbuild,Automation,Cruisecontrol.net,我们让构建脚本在每次构建时更新版本号。我希望每次在VisualStudio中按F5进行构建时都能自动执行此操作。因此,使用正确的版本号更新GlobalAssemblyInfo.cs,从SVN中的修订号开始,更好的方法是使用SVN挂钩。版本号只会在提交时更改,因此您可以编写一个钩子,作为提交的一部分更新该文件 或者查看以下内容:我刚刚阅读了关于TFS2010构建的文章。我知道它并不完全适用于您的情况或体系结构,但他提出了一些关于如何进行程序集版本控制的好观点 更具体地说,作者引用了。同样,它是特定

我们让构建脚本在每次构建时更新版本号。我希望每次在VisualStudio中按F5进行构建时都能自动执行此操作。因此,使用正确的版本号更新GlobalAssemblyInfo.cs,从SVN中的修订号开始,更好的方法是使用SVN挂钩。版本号只会在提交时更改,因此您可以编写一个钩子,作为提交的一部分更新该文件

或者查看以下内容:

我刚刚阅读了关于TFS2010构建的文章。我知道它并不完全适用于您的情况或体系结构,但他提出了一些关于如何进行程序集版本控制的好观点

更具体地说,作者引用了。同样,它是特定于MSBuild的,但有一些要点通常适用于程序集版本控制

编辑:

第一个链接讨论了各种方法的优缺点,包括将日期作为版本号的一部分(不是特别有用),但倾向于将TFS版本号作为程序集版本的一部分。他提到了他首选的版本控制方案,该方案允许他快速、轻松地确定构建与什么相关(修补程序等)。此链接主要用于提供有关程序集版本控制的一些备选视图


第二个链接由第一个链接引用,其中包含一些代码示例,说明他如何使用MSBuild帮助对程序集进行版本设置。这也可以提供一些关于如何进行的有用想法。也许可以将其中一些与生成后事件结合起来以实现您的目标。

我找到了一种使用F5的方法,方法是修改项目文件,并使用MSBUILD.Community.Tasks

<Target Name="BeforeBuild">
<MSBuild.Community.Tasks.Subversion.SvnInfo Username="$(SvnUserName)" Password="$(SvnPassword)" RepositoryPath="$(SvnPath)">
  <Output TaskParameter="Revision" PropertyName="SvnRevision" />
</MSBuild.Community.Tasks.Subversion.SvnInfo>

<CreateProperty Value="$(Major).$(Minor).$(Build).$(SvnRevision)">
  <Output TaskParameter="Value" PropertyName="FullVersionNumber" />
</CreateProperty>

<MSBuild.Community.Tasks.AssemblyInfo 
  OutputFile="$(ProjectFolder)\GlobalAssemblyInfo.cs" 
  CodeLanguage="CS" 
  AssemblyVersion="$(FullVersionNumber)" 
  AssemblyFileVersion="$(FullVersionNumber)" />
<Message Text="Test"/>
</Target>


您能否将msbuild脚本作为VS中的后期生成事件运行?请总结一下这些帖子的实际内容。如果他们被删除了,你的答案将变得比无用还要糟糕。@ChrisF-Edited。希望它现在比无用的稍微好一点。这看起来是一个很好的方法。那就没人能忘记:)