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

4
我正在使用最新版本的MsBuild 15预览版,我有一个多目标项目文件,针对net40netstandard1.6进行定位。 我正在努力正确指定<DocumentationFile>。无论我指定什么路径,在构建后的结果xml文件都会在该路径以及两个目标输出目录中生成。
例如,如果我指定 <DocumentationFile>doc.xml</DocumentationFile> 然后xml文件将在我的项目目录和bin\net40bin\netstandard1.6中生成。
我只需要那些xml文档只在我的bin\net40bin\netstandard1.6目录中。我该怎么做呢? 此外,当前行为下,不清楚哪个文档被复制到我的项目目录,因为这些xml文档可能因两个目标而异。
在早期的项目版本中,我会分别为DebugRelease构建配置指定文档xml路径,路径如bin\Debug\doc.xml,但是使用最新的MsBuild 15可以进行多目标定位,如果我为所有可能的目标和构建配置指定目录,则此类路径的数量会增加一倍。
是否有通用的好方法只指定一次文档文件路径,并将其放置在正确的输出位置?
1个回答

0

根据我的测试,如果您指定

<DocumentationFile>bin\Debug\netstandard1.0\MyProjectName.xml</DocumentationFile>

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

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

等等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接