感谢您的期待。使用C#,我如何“包含”文件到项目中?
我有一个小程序根据一些项目信息和数据库连接生成一个新的.NET解决方案。
作为此过程的一部分,我使用edmgen2自动生成ADO.NET实体数据模型/ .edmx
文件。
此代码正常工作,并生成添加到Windows中项目文件夹中的.edmx等。
的问题
当我打开生成的溶液中,随后含有.edmx
的DAL项目,我必须再展排除的文件,单击鼠标右键,然后手动include
的的.edmx。
这并不是什么大问题,但如果在生成.edmx
后自动将其包含在VS Project中,我可以调用代码将会更好。
这可能吗?
ADDING下面的解答:下面
的回答让我去,但我却发现,我不能在我改变其他XML文件通常的方式.csproj的XML操作。您必须使用msbuild
命名空间。这里是我工作:
var csproj = XDocument.Load(SolutionFolder + @"\SomeProject.csproj");
XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
var itemGroups = csproj.Descendants(msbuild + "ItemGroup");
var itemGroup = itemGroups.FirstOrDefault(x => x.Descendants(msbuild + "Compile").Any());
var item = new XElement(msbuild + "Compile");
item.SetAttributeValue("Include", "ApplicationEntityModel.edmx");
itemGroup.Add(item);
csproj.Save(SolutionFolder + @"\SomeProject.csproj");