如何根据tfs项目的构建号设置AssemblyInfo.cs



该项目托管在tfs服务器上,我需要访问构建号,我认为这是在构建项目时自动生成的。

我需要检索构建号并在网页上显示它,以便qa和测试人员确切地知道他们正在工作的构建。

我发现如何在以下链接中创建自定义构建号:http://msdn.microsoft.com/en-us/library/aa395241 (v = vs.100) . aspx

,但它不能解决我的问题,因为我没有访问构建定义文件。

我正在寻找某种部署后的任务,可以访问构建号或可能生成一个,并可能把它写下来到一个文件,从那里我可以读到它。我不知道这是否有意义,因为这是我第一次使用。net

你可以这样做:

Assembly assembly = Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
string version = fvi.FileVersion;

或者如果您有多个程序集,那么您可以使用

Assembly.GetAssembly(typeof(SomeObject))

,其中SomeObject在程序集中声明,您希望获得的版本。

这就是我最终实现它的方式感谢John和mclaassen。

在我的AssemblyInfo.cs中,我做了以下更改:

:

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
:后

[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]

然后我写了一个助手类,它可以使用get方法访问AssemblyVersion号。

public string GetVersion() 
{
    string version ;
    version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
    return version;
}

所以当我调用这个方法时它会给我一个字符串它就是我的版本号

TFS Versioning是一个很好的扩展!

您最好使用TFS Community构建工具中的TFS Version活动。该工具会自动从构建名称中获取版本号,并且可以很容易地配置为更新AssemblyInfo。*文件在get之后,编译之前。

    <
  • https://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20TfsVersion%20build%20activity& referringTitle =文档/gh>

在所有的工具中,这是支持最好的一个。我觉得其他的都太复杂了。我已经在许多客户的数百个构建中使用了这个

最新更新