project and solution generation
This commit is contained in:
@ -29,6 +29,8 @@ public class CSProject
|
||||
Guid = System.Guid.NewGuid().ToString("B").ToUpper(),
|
||||
};
|
||||
|
||||
Save(project, projectFilePath);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ public static class Compiler
|
||||
public static void GenerateSolution(string projectPath, Project project, out string solutionPath)
|
||||
{
|
||||
// Clear files.
|
||||
string[] csProjectFiles = Directory.GetFiles(projectPath, CSProjFileName, SearchOption.TopDirectoryOnly);
|
||||
string[] csProjectFiles = Directory.GetFiles(projectPath, $"*{CSProjFileName}", SearchOption.TopDirectoryOnly);
|
||||
foreach (string csProjFile in csProjectFiles)
|
||||
{
|
||||
File.Delete(csProjFile);
|
||||
@ -103,7 +103,7 @@ public static class Compiler
|
||||
}
|
||||
|
||||
// Generate solution.
|
||||
string[] csProjPaths = Directory.GetFiles(projectPath, CSProjFileName, SearchOption.TopDirectoryOnly);
|
||||
string[] csProjPaths = Directory.GetFiles(projectPath, $"*{CSProjFileName}", SearchOption.TopDirectoryOnly);
|
||||
string[] csProjGuids = new string[csProjPaths.Length];
|
||||
for (int i = 0; i < csProjPaths.Length; i++)
|
||||
{
|
||||
@ -124,8 +124,9 @@ public static class Compiler
|
||||
string csProjPath = csProjPaths[i];
|
||||
string projectGuid = csProjGuids[i];
|
||||
string projectName = Path.GetFileNameWithoutExtension(csProjPath);
|
||||
string projectRelativePath = Path.GetRelativePath(projectPath, csProjPath);
|
||||
// FAE04EC0-301F-11D3-BF4B-00C04F79EFBC for C# projects.
|
||||
solutionContent.AppendLine($"Project(\"{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}\") = \"{projectName}\", \"{csProjPath}\", \"{projectGuid}\"");
|
||||
solutionContent.AppendLine($"Project(\"{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}\") = \"{projectName}\", \"{projectRelativePath}\", \"{projectGuid}\"");
|
||||
solutionContent.AppendLine("EndProject");
|
||||
}
|
||||
|
||||
@ -223,7 +224,7 @@ public static class Compiler
|
||||
|
||||
projectContent.AppendLine("</Project>");
|
||||
|
||||
string projectName = csProject.Name + ".Runtime.csproj";
|
||||
string projectName = csProject.Name + ".csproj";
|
||||
string filePath = Path.Combine(projectPath, projectName);
|
||||
File.WriteAllText(filePath, projectContent.ToString());
|
||||
}
|
||||
|
Reference in New Issue
Block a user