Browse Source

Save project after making changes with PowerShell scripts.

pull/15/head
Matt Ward 15 years ago
parent
commit
f036b01bac
  1. 13
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Property.cs
  2. 6
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs
  3. 22
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectTests.cs

13
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Property.cs

@ -8,13 +8,20 @@ namespace ICSharpCode.PackageManagement.EnvDTE
{ {
public class Property public class Property
{ {
IPackageManagementProjectService projectService;
MSBuildBasedProject project; MSBuildBasedProject project;
string name; string name;
public Property(MSBuildBasedProject project, string name) public Property(MSBuildBasedProject project, string name)
: this(project, name, new PackageManagementProjectService())
{
}
public Property(MSBuildBasedProject project, string name, IPackageManagementProjectService projectService)
{ {
this.project = project; this.project = project;
this.name = name; this.name = name;
this.projectService = projectService;
} }
public object Value { public object Value {
@ -22,7 +29,13 @@ namespace ICSharpCode.PackageManagement.EnvDTE
set { set {
bool escapeValue = false; bool escapeValue = false;
project.SetProperty(name, value as string, escapeValue); project.SetProperty(name, value as string, escapeValue);
SaveProject();
} }
} }
void SaveProject()
{
projectService.Save(project);
}
} }
} }

6
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs

@ -28,6 +28,12 @@ namespace ICSharpCode.PackageManagement.EnvDTE
{ {
var referenceItem = new ReferenceProjectItem(project, path); var referenceItem = new ReferenceProjectItem(project, path);
projectService.AddProjectItem(project, referenceItem); projectService.AddProjectItem(project, referenceItem);
SaveProject();
}
void SaveProject()
{
projectService.Save(project);
} }
} }
} }

22
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectTests.cs

@ -33,6 +33,17 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("System.Data", referenceName); Assert.AreEqual("System.Data", referenceName);
} }
[Test]
public void ObjectReferencesAdd_AddGacAssemblyReference_MSBuildProjectIsSaved()
{
CreateProject();
project.Object.References.Add("System.Xml");
bool saved = msbuildProject.IsSaved;
Assert.IsTrue(saved);
}
[Test] [Test]
public void PropertiesItemValue_GetPostBuildEvent_ReturnsProjectsPostBuildEvent() public void PropertiesItemValue_GetPostBuildEvent_ReturnsProjectsPostBuildEvent()
{ {
@ -64,5 +75,16 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("$(SolutionDir)", postBuildEventProperty); Assert.AreEqual("$(SolutionDir)", postBuildEventProperty);
} }
[Test]
public void PropertiesItemValue_SetPostBuildEvent_MSBuildProjectIsSaved()
{
CreateProject();
project.Properties.Item("PostBuildEvent").Value = "test";
bool saved = msbuildProject.IsSaved;
Assert.IsTrue(saved);
}
} }
} }

Loading…
Cancel
Save