如题
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DCMSTest1", "DCMSTest1\DCMSTest1.csproj", "{B3DFA551-79B7-4FAE-86F3-3F34F264DEAD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DCMSTest2", "DCMSTest2\DCMSTest2.csproj", "{55DBC82C-007A-4ADE-854F-A060F0B75504}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DCMSTest3", "DCMSTest3\DCMSTest3.csproj", "{451490CA-6E8C-498E-999C-A4DB960F3B65}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DCMSTest4", "DCMSTest4\DCMSTest4.csproj", "{28DC4B52-18EA-49A0-BEC6-82B3AA6C3E5D}"
EndProject
Global
我想读出 "DCMSTest1\DCMSTest1.csproj", "DCMSTest2\DCMSTest2.csproj", "DCMSTest3\DCMSTest3.csproj", "DCMSTest4\DCMSTest4.csproj", 

解决方案 »

  1.   

    当作文本文件
    一行行的读
    碰到Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")开头的就认为是工程文件
    然后分析字符串
      

  2.   


    string sln = ".......";Regex regex = new Regex("^Project.+?=.*?\",\s*?\"([^"]+)");
    foreach (Match match in regex.Matches(sln))
    {
    Console.WriteLine(match.Groups[1].Value);
    }
      

  3.   

    上面的直接写的,有几个符号没转义,这个可以编译通过:
                String sln = "Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"DCMSTest1\", \"DCMSTest1\\DCMSTest1.csproj\", \"{B3DFA551-79B7-4FAE-86F3-3F34F264DEAD}\" ";
                Regex regex = new Regex("^Project.+?=.*?\",\\s*?\"([^\"]+)");
                foreach (Match match in regex.Matches(sln))
                {
                    Console.WriteLine(match.Groups[1].Value);
                }