提交 7c5ea0f0 编写于 作者: B Balaji Soundrarajan

Update APIs to successfully Unload and Reload projects from Solution

上级 d346bdf8
......@@ -9,10 +9,13 @@ public abstract class Identity
public class Project : Identity
{
public Project(string name)
public Project(string name, string relativePath = null)
{
Name = name;
RelativePath = relativePath;
}
public string RelativePath { get; }
}
public class ProjectReference : Identity
......
......@@ -808,10 +808,10 @@ private string GetAbsolutePathForProjectRelativeFilePath(string projectName, str
return Path.Combine(projectPath, relativeFilePath);
}
public void ReloadProject(string projectName)
public void ReloadProject(string projectRelativePath)
{
var solutionPath = Path.GetDirectoryName(_solution.FullName);
var projectPath = Path.Combine(solutionPath, projectName);
var projectPath = Path.Combine(solutionPath, projectRelativePath);
_solution.AddFromFile(projectPath);
}
......@@ -827,9 +827,9 @@ public void ShowErrorList()
public void ShowOutputWindow()
=> ExecuteCommand(WellKnownCommandNames.View_Output);
public void UnloadProject(string projectName)
public void UnloadProject(int index)
{
var project = _solution.Projects.Item(projectName);
var project = _solution.Projects.Item(index);
_solution.Remove(project);
}
......
......@@ -116,8 +116,8 @@ public void CloseFile(ProjectUtils.Project project, string fileName, bool saveFi
public void SaveFile(ProjectUtils.Project project, string fileName)
=> _inProc.SaveFile(project.Name, fileName);
public void ReloadProject(ProjectUtils.Project project)
=> _inProc.ReloadProject(project.Name);
public void ReloadProject(string projectRelativePath)
=> _inProc.ReloadProject(projectRelativePath);
public void RestoreNuGetPackages()
=> _inProc.RestoreNuGetPackages();
......@@ -128,8 +128,12 @@ public void SaveAll()
public void ShowOutputWindow()
=> _inProc.ShowOutputWindow();
public void UnloadProject(ProjectUtils.Project project)
=> _inProc.UnloadProject(project.Name);
/// <summary>
/// Unloads the project. <paramref name="index"/> is 1 based.
/// </summary>
/// <param name="index"></param>
public void UnloadProject(int index)
=> _inProc.UnloadProject(index);
public string[] GetProjectReferences(ProjectUtils.Project project)
=> _inProc.GetProjectReferences(project.Name);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册