2012-08-15 35 views
1

我正在开发一个应用程序,可根据需要从.csproj文件添加/删除项目属性和引用。原始.csproj文件中的效果更改

project.AddItem("Reference", "System.IO", globalProperties); 
project.AddItem("Reference", "System.Collections.Generic", globalProperties); 

上面的代码添加了项目。 当我在project.Items中打印出ProjectItems时,我能够看到添加的引用。当我打开需要修改的.csproj文件时,更改不可见(因为正在传递文件的副本)。 但是,我想要修改正在修改的.csproj文件中的更改。 我尝试使用“ref”关键字,但不起作用。 有人可以告诉我如何去做?

谢谢。

+0

你知道,有一个标准的API为了这? Microsoft.Build.Evaluation.Project http://msdn.microsoft.com/en-us/library/microsoft.build.evaluation.project.aspx – 2012-08-15 14:51:32

+0

我在这里使用,否则我不能访问Project和ProjectCollection类... – aromore 2012-08-15 14:56:06

+1

那么只需使用Save()方法... – 2012-08-15 14:57:19

回答

1

你有Ø参考像

var slItemGroup = project.Xml.CreateItemGroupElement(); 
project.Xml.InsertAfterChild(slItemGroup, project.Xml.LastChild); 
slItemGroup.AddItem("Reference", "System.IO"); 

前添加第一项目组,你必须调用保存项目的方法:

project.Save(projectFileName);