如何使用多目标定位在MsBuild 15 .csproj中正确指定DocumentationFile

时间:2017-01-25 21:30:41

标签: msbuild msbuild-15

我正在使用MsBuild 15的最新预览,我有一个针对net40netstandard1.6的多目标项目文件。 我正在努力正确指定<DocumentationFile>

对于我要指定的任何路径,构建后生成的xml文件都将在该路径和两个目标输出目录中。

例如,如果我指定     <DocumentationFile>doc.xml</DocumentationFile>

然后将在我的项目目录bin\net40bin\netstandard1.6中生成xml文件。

我只需要在我的bin\net40bin\netstandard1.6目录中使用这些xml文档文件。我怎样才能做到这一点? 此外,根据当前行为,不清楚将哪个文档文件复制到我的项目目录,因为这些xml文档可能因两个目标而不同。

在早期的项目版本中,我曾经分别为DebugRelease构建配置指定文档xml路径,其中包含bin\Debug\doc.xml这样的路径,但是使用最新的MsBuild 15可以进行多目标定位如果我为目标和构建配置的所有可能组合指定dir,则此类路径的数量会加倍。

是否有任何通用的好方法来指定文档文件路径一次并将其输出到正确的输出位置?

1 个答案:

答案 0 :(得分:0)

如果您指定

,请从我的测试中获取
<DocumentationFile>bin\Debug\netstandard1.0\MyProjectName.xml</DocumentationFile>

它将在每个多目标文件夹中创建doc文件,因此它将创建

  • netstandard1.0 \ MyProjectName.xml
  • net45 \ MyProjectName.xml
  • netcoreapp1.0 \ MyProjectName.xml
  • netstandard2.0 \ MyProjectName.xml