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

如何使用多目标在MsBuild 15.csproj中正确指定DocumentationFile,msbuild,msbuild-15,Msbuild,Msbuild 15,我正在使用最新的MsBuild 15预览版,我有一个多目标项目文件,目标是net40和netstandard1.6。 我正在努力正确指定 对于我将指定的任何路径,生成后的xml文件都将位于该路径和两个目标输出目录中 例如,如果我指定 doc.xml 然后将在我的项目目录和bin\net40和bin\netstandard1.6中生成xml文件 我只需要在我的bin\net40和bin\netstandard1.6目录中使用这些xml文档文件。我怎样才能做到这一点? 另外,对于当前的行为,不清楚哪

我正在使用最新的MsBuild 15预览版,我有一个多目标项目文件,目标是
net40
netstandard1.6
。 我正在努力正确指定

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

例如,如果我指定
doc.xml

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

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

在早期的项目版本中,我曾分别为
Debug
Release
生成配置指定文档xml路径,路径类似于
bin\Debug\doc.xml
,但是,对于最新的MsBuild 15,如果我为所有可能的目标和生成配置组合指定dir,则可以执行多目标,并且这样的路径数量会增加一倍


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

如果您指定

<DocumentationFile>bin\Debug\netstandard1.0\MyProjectName.xml</DocumentationFile>
bin\Debug\netstandard1.0\MyProjectName.xml
它将在每个多目标文件夹中创建文档文件,以便

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