zoukankan      html  css  js  c++  java
  • 获取解决方案文件sln中所有的项目文件路径。

    进行每日编译架构需要,读取sln文件,包含的项目路径。写了一个简单的函数。只是针对vb.net的解决方案,vs2003版本:

    Function GetProjectPaths(ByVal sln As String) As System.Collections.Specialized.StringCollection
        If sln Is Nothing Then
            Throw New ArgumentNullException("没有指定解决方案。")
        End If

        If Not IO.File.Exists(sln) Then
            Throw New IO.FileNotFoundException(String.Format("解决方案  {0} 不存在。", sln))
        End If

        Dim file As String = sln
        Dim r As IO.StreamReader
        Dim sc As New System.Collections.Specialized.StringCollection

        Try
            r = New IO.StreamReader(file, System.Text.Encoding.Default)
            Dim line As String = r.ReadLine
            While Not line Is Nothing
                If line.StartsWith("Project(") Then
                    Dim strSplit As String = """, """
                    Dim starIndex As Integer = line.IndexOf(strSplit)
                    If starIndex <> -1 Then
                        Dim projectPath As String = line.Substring(starIndex + 4)
                        Dim endIndex As Integer = projectPath.IndexOf(strSplit)

                        '项目路径
                        projectPath = projectPath.Substring(0, endIndex)

                        Dim slnPath As String = IO.Path.GetDirectoryName(file)
                        IO.Directory.SetCurrentDirectory(slnPath)  '解决方案中存在的相对路径,偷懒做法。
                        projectPath = IO.Path.GetFullPath(projectPath)

                        sc.Add(projectPath)

                    End If
                End If
                line = r.ReadLine
            End While

        Catch ex As Exception
            Throw New System.Exception("获取项目文件路径发生错误。", ex)
        Finally
            If Not r Is Nothing Then
                r.Close()
            End If

        End Try

        Return sc

    End Function

  • 相关阅读:
    PHP中feof()函数的猜测
    PHP curl函数模拟爬虫(操作cookie)
    django发音
    Nginx出现“413 Request Entity Too Large”错误解决方法
    Python开发利器WingIDE破解方法
    开启Apache mod_rewrite
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    python 正则学习
    php定时执行任务
    命令行CURL教程[转载]
  • 原文地址:https://www.cnblogs.com/zqonline/p/1456102.html
Copyright © 2011-2022 走看看