【问题标题】:Set Version number of TFS Build in C# File在 C# 文件中设置 TFS 构建的版本号
【发布时间】:2013-05-23 06:09:13
【问题描述】:

喂,

是否可以在 C# 文件中设置 TFS 构建的数量?

TFS 构建应将版本号替换为当前版本号。

public const string SERVICE_VERSION = "2.0 Build: 20130518.1";

编辑: const 在一个名为 SharedMethods 的类中:

public static class SharedMethods 
{
    public const string SERVICE_VERSION = "2.0 Build: 20130518.1";
    ...
    ...
}

TFS 构建应该签出元素、更新版本、签入元素并继续正常的构建过程。

【问题讨论】:

  • 您是指来自自定义构建任务,还是来自正在构建的程序集中的代码?
  • 来自自定义构建任务

标签: c# .net tfs tfsbuild


【解决方案1】:

查看这篇文章: Create a Custom WF Activity to Sync Version and Build Numbers

它描述了如何更改 AssemblyInfo.cs 文件中的版本号。您可以根据自己的需要进行调整。

【讨论】:

    【解决方案2】:

    如果您的文件只包含这些行,也许您可​​以这样做:

        <WriteLinesToFile File="$(VersionFilePath)" Lines="public const string SERVICE_VERSION = %22$(Version)%22%3B" Overwrite="true" Encoding="ASCII"/>
    

    请注意," 应替换为 %22 和 ; 替换为 %3B(添加 ';' 时,会插入一个新行字符)。

    否则,您可以在 msbuild 中编写 C# 代码来做您想做的事。一个例子:

    <UsingTask TaskName="UpdateApplicationRevision" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
       <ParameterGroup>
            <ProjectFilePath ParameterType="System.String" Required="true" />
        </ParameterGroup>
            <Task>
              <Reference Include="$(MSBuildToolsPath)\Microsoft.Build.dll" />
              <Reference Include="System.Xml" />
            <Code Type="Fragment" Language="cs">
                <![CDATA[
          var project = new Microsoft.Build.Evaluation.Project(ProjectFilePath);
          var property = project.GetProperty("ApplicationRevision");
          property.UnevaluatedValue = "" + (System.Int32.Parse(property.EvaluatedValue) + 1);
          project.Save();
    ]]>
            </Code>
        </Task>
    </UsingTask>
    

    在这里,我修改了一个 csproj (xml) 文件,但您可以随意编写自己的代码来读取您的文件并对其进行更新...

    【讨论】:

    • 不幸的是,该文件不仅包含这些行。字符串 const 是一个名为 SharedMethods 的静态类
    猜你喜欢
    • 2012-09-11
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多