private string SourceFilePart()
        {
            if (PCH == null || PCH.Length == 0 || PCH == "none")
            {
                return(FilePart(CFiles));
            }
            int    lpos     = PCH.LastIndexOf('.');
            string pcc      = PCH.Substring(0, lpos) + ".cpp";
            string pcclower = pcc.ToLower();

            string rtn = "";

            string[] files = CFiles.Split(new char[1] {
                ';'
            });
            foreach (string f in files)
            {
                if (f.Length > 0)
                {
                    if (f.ToLower() == pcclower)
                    {
                        rtn +=
                            "  <File\r\n" +
                            "    RelativePath=\"" + pcc + "\"\r\n" +
                            "  >\r\n" +
                            PCHSourceFileConfigurationPart("Debug") +
                            PCHSourceFileConfigurationPart("Release") +
                            ((NoOpt == "Release") ? PCHSourceFileConfigurationPart("Release_NoOptForParser") : "") +
                            ((NoOpt == "Debug") ? PCHSourceFileConfigurationPart("Release_NoOptForParser") : "") +
                            "  </File>\r\n";
                    }
                    else
                    {
                        rtn += "  <File\r\n    RelativePath=\"" + f + "\"\r\n  >\r\n  </File>\r\n";
                    }
                }
            }
            return(rtn);
        }