为什么从发布版本中排除 XML 文档如此困难?

Why is it so difficult to exclude XML documentation from a Release build?

每次我使用发布版本发布 Web 部署包时,我都会在调用 Web API;

时收到此错误

HTTP 500 Internal Server Error
Could not find file 'C:\SolutionDir\ProjectDir\bin\AssemblyName.xml'

这是我部署到服务器时执行的步骤。

  1. 在 Visual Studio 2013 中右键单击项目并 select Publish...
  2. 检查我对我的发布配置文件感到满意并单击 Publish
  3. 在我的 Web API 项目中找到 Deploy 文件夹并将其复制到目标位置 (加上检查以前构建的备份)
  4. 从我希望部署的服务器打开 Internet Information Server 和 select 我希望部署的应用程序然后右键单击 select Deploy -> Import Application....
  5. 按照导入应用程序包向导 select 安装我的部署包并检查所有设置,然后单击 Finish

在此过程之后,我尝试使用 Fiddler 测试 Web API 并收到上述错误。我已经尝试了各种方法,但到目前为止没有任何效果,我可以让它工作的唯一方法是将 XML 文件从项目的调试版本复制到服务器上的 bin 文件夹中。

我不明白的是我不需要这样做来让它工作,为什么 Visual Studio / Web 部署坚持 XML 存在?

我已经尝试过的解决方案

如果您使用某些选项创建 Web API 项目,它还包括 MVC 功能以显示基于 XML 文档的 Web API 帮助页面。

我认为将在解决方案中的 Nuget 包称为 Microsoft.AspNet.WebApi.HelpPage

我从未使用过它,所以我不了解它何时可能会检查 XML 文件,但可能会删除它和 MVC 内容(如果您不使用文档)将停止寻找 XML 文件。