使用C#,我该怎么做;包括「;将文件导入到项目中?
谢谢你的关注 我有一个小程序,它根据一些项目信息和数据库连接生成一个新的.NET解决方案 作为此过程的一部分,我使用自动生成ADO.NET实体数据模型/使用C#,我该怎么做;包括「;将文件导入到项目中?,c#,visual-studio-2012,envdte,C#,Visual Studio 2012,Envdte,谢谢你的关注 我有一个小程序,它根据一些项目信息和数据库连接生成一个新的.NET解决方案 作为此过程的一部分,我使用自动生成ADO.NET实体数据模型/.edmx文件 此代码工作正常,并生成.edmx等文件,该文件将添加到Windows中的项目文件夹中 问题 当我打开生成的解决方案并随后打开包含.edmx的DAL项目时,我必须显示排除的文件,右键单击,然后手动包含该.edmx 这不是什么大问题,但是如果我能在生成.edmx后调用come代码,并自动将其包含在VS项目中,那就更好了 这可能吗 补充
.edmx
文件
此代码工作正常,并生成.edmx等文件,该文件将添加到Windows中的项目文件夹中
问题
当我打开生成的解决方案并随后打开包含.edmx
的DAL项目时,我必须显示排除的文件,右键单击,然后手动包含该.edmx
这不是什么大问题,但是如果我能在生成.edmx
后调用come代码,并自动将其包含在VS项目中,那就更好了
这可能吗
补充以下答案:
下面的答案让我开始思考,但我确实发现我无法像修改其他xml文件那样对.csprojXML进行操作。您必须使用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");
未测试:
您可以编辑*.csproj文件并将新文件添加到
部分。它是一个可编程编辑的xml文件
<ItemGroup>
<Compile Include="fileName" />
</ItemGroup>
未测试:
您可以编辑*.csproj文件并将新文件添加到
部分。它是一个可编程编辑的xml文件
<ItemGroup>
<Compile Include="fileName" />
</ItemGroup>
未测试:
您可以编辑*.csproj文件并将新文件添加到
部分。它是一个可编程编辑的xml文件
<ItemGroup>
<Compile Include="fileName" />
</ItemGroup>
未测试:
您可以编辑*.csproj文件并将新文件添加到
部分。它是一个可编程编辑的xml文件
<ItemGroup>
<Compile Include="fileName" />
</ItemGroup>
C#项目文件*.csproj
实际上是一个XML文件,因此在您的工具完成生成解决方案后,您可以将所需的项目文件作为XML(,等)打开,并添加到它的元素中,该元素将指向生成的.edmx
文件。C#项目文件*。csproj
实际上是一个XML文件,因此,在您的工具完成生成解决方案后,您可以将所需的项目文件作为XML(,等)打开,并向其中添加元素,该元素将指向生成的.edmx
文件。C#project文件*.csproj
实际上是一个XML文件,因此在您的工具完成生成解决方案后,您可以以XML(,等)的形式打开所需的项目文件,并向其中添加指向生成的.edmx
文件的元素。C#project文件*.csproj
实际上是一个XML文件,因此在您的工具完成生成解决方案后,您可以以XML(,等)的形式打开所需的项目文件并向其中添加元素,该元素将指向生成的.edmx
文件