gpt4 book ai didi

visual-studio - TFS 2010 跟踪构建定义更改?

转载 作者:行者123 更新时间:2023-12-04 04:44:46 25 4
gpt4 key购买 nike

有没有办法在 TFS 2010 中跟踪对构建定义的更改?请转到 Visual Studio 中的“团队资源管理器 > 项目名称 > 构建”以查看我在说什么。您需要访问 TFS 服务器才能看到我所指的内容。现在,一旦您进入 Team Explorer > ProjectName > Builds,您就可以创建一个构建定义来在 TFS 上编译您的 csproj 或 sln 文件。我想知道的是,如果我对现有定义进行任何更改或添加新定义,是否有办法对这些构建定义进行版本控制?

最佳答案

当团队中的某个人修改了构建定义时,我遇到了同样的问题,我试图找到所有可用的选项,但除了 Xeam Build Definition Extension 之外没有找到任何选项。只支持 VS 2012 以后的版本,并且有一些缺点,所以最后为了立即解决问题,我写了一个小应用程序,它返回 Last Modified ByLast Modified Date和完整的 Build Definition您可以与以前的版本进行比较以查找更改的详细信息。

导入 Microsoft.TeamFoundation.Build.Client

Private Const RootFolder As String = "C:\TFS Utility Reports\"

''' <summary>
''' To Get the Build Definition Details
''' </summary>
''' <param name="teamProjectName"></param>
''' <param name="buildDefinitionName"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function GetBuildDefinitionDetails(teamProjectName As String, buildDefinitionName As String) As String
Dim buildDefinitionSummary As String = Nothing
Dim buildDefinitionDetails As String = Nothing
Dim reportPath As String = RootFolder & "Build Definitions\" & buildDefinitionName
Dim buildDefinitionDetailsFileName As String = reportPath & "\" & buildDefinitionName & "_" & Date.Now.ToString(CultureInfo.CurrentCulture).Replace("/", String.Empty).Replace(":", String.Empty) & ".txt"
Dim buildService = CType(TfsTeamProjectCollection.GetService(GetType(IBuildServer)), IBuildServer)
Dim buildDefinition As IBuildDefinition = buildService.GetBuildDefinition(teamProjectName, buildDefinitionName)
If buildDefinition IsNot Nothing Then
GetAllBuildDefinitions(teamProjectName)
buildDefinitionSummary = buildDefinition.ToString()
UpdateFile(buildDefinitionSummary, buildDefinitionDetailsFileName, reportPath)
If buildDefinition.Workspace IsNot Nothing Then
buildDefinitionDetails = String.Format(CultureInfo.CurrentCulture, "Last Modified By: {0}, Last Modified Date: {1}",
buildDefinition.Workspace.LastModifiedBy,
buildDefinition.Workspace.LastModifiedDate)
End If
End If
Return buildDefinitionDetails
End Function


''' <summary>
''' Generate Log/Summary/Report
''' </summary>
''' <param name="lineToWrite"></param>
''' <param name="filePath"></param>
''' <param name="folderPath"></param>
''' <remarks></remarks>
Private Shared Sub UpdateFile(ByVal lineToWrite As String, ByVal filePath As String, ByVal folderPath As String)
Dim strFileName As String = String.Empty
lineToWrite = lineToWrite.Trim()
strFileName = filePath
Dim di As IO.DirectoryInfo = New IO.DirectoryInfo(folderPath)
If Not di.Exists Then
di.Create()
End If
Dim streamWriter As New StreamWriter(strFileName, True, System.Text.Encoding.ASCII)
Try
Dim strOutput As String
strOutput = lineToWrite.ToString
streamWriter.WriteLine(strOutput)
Catch ex As Exception
Throw
Finally
streamWriter.Dispose()
End Try
End Sub

关于visual-studio - TFS 2010 跟踪构建定义更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18365994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com