如何使用MSBuild创建ProjectExtensions标记以生成.csproj?

时间:2016-04-20 10:05:19

标签: c# visual-studio msbuild

来自MS Developer网站:

  

允许MSBuild项目文件包含非MSBuild信息。   ProjectExtensions元素内的任何内容都将被忽略   的MSBuild。

见这个例子:

  <ProjectExtensions>
    <VisualStudio>
      <UserProperties RESOURCE_FILE="projectName.RC" />
    </VisualStudio>
  </ProjectExtensions>

我想创建类似上面的内容 用于以编程方式创建.csproj文件,我使用

  • 命名空间:Microsoft.Build.Construction
  • 程序集:Microsoft.Build(在Microsoft.Build.dll中)

例如:

var root = ProjectRootElement.Create();

var group = root.AddPropertyGroup();
group.AddProperty("Configuration", "Debug");
group.AddProperty("Platform", "x64");

// references
AddItems(root, "Reference", "System", "System.Core");

// items to compile
AddItems(root, "Compile", "test.cs");

var target = root.AddTarget("Build");
var task = target.AddTask("Csc");
task.SetParameter("Sources", "@(Compile)");
task.SetParameter("OutputAssembly", "test.dll");

root.Save("test.csproj");

我想知道,如何使用这些类和命名空间来创建 ProjectExtensions 标记

我看到一个名为CreateProjectExtension()的方法,但我不知道如何使用它。

请指导我如何创建任何 ProjectExtensions 标记

0 个答案:

没有答案