为什么从发布版本中排除 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'
这是我部署到服务器时执行的步骤。
- 在 Visual Studio 2013 中右键单击项目并 select
Publish...
- 检查我对我的发布配置文件感到满意并单击
Publish
。
- 在我的 Web API 项目中找到 Deploy 文件夹并将其复制到目标位置 (加上检查以前构建的备份)。
- 从我希望部署的服务器打开 Internet Information Server 和 select 我希望部署的应用程序然后右键单击 select
Deploy -> Import Application...
.
- 按照导入应用程序包向导 select 安装我的部署包并检查所有设置,然后单击
Finish
。
在此过程之后,我尝试使用 Fiddler 测试 Web API 并收到上述错误。我已经尝试了各种方法,但到目前为止没有任何效果,我可以让它工作的唯一方法是将 XML 文件从项目的调试版本复制到服务器上的 bin
文件夹中。
我不明白的是我不需要这样做来让它工作,为什么 Visual Studio / Web 部署坚持 XML 存在?
我已经尝试过的解决方案
- A: How to prevent the copy of XML documentation files in a release mode build?
- A: Preventing referenced assembly PDB and XML files copied to output
- A: How to prevent Visual Studio from “publishing” XML documentation files in web projects?
如果您使用某些选项创建 Web API 项目,它还包括 MVC 功能以显示基于 XML 文档的 Web API 帮助页面。
我认为将在解决方案中的 Nuget 包称为 Microsoft.AspNet.WebApi.HelpPage
。
我从未使用过它,所以我不了解它何时可能会检查 XML 文件,但可能会删除它和 MVC 内容(如果您不使用文档)将停止寻找 XML 文件。
每次我使用发布版本发布 Web 部署包时,我都会在调用 Web API;
时收到此错误HTTP 500 Internal Server Error
Could not find file 'C:\SolutionDir\ProjectDir\bin\AssemblyName.xml'
这是我部署到服务器时执行的步骤。
- 在 Visual Studio 2013 中右键单击项目并 select
Publish...
- 检查我对我的发布配置文件感到满意并单击
Publish
。 - 在我的 Web API 项目中找到 Deploy 文件夹并将其复制到目标位置 (加上检查以前构建的备份)。
- 从我希望部署的服务器打开 Internet Information Server 和 select 我希望部署的应用程序然后右键单击 select
Deploy -> Import Application...
. - 按照导入应用程序包向导 select 安装我的部署包并检查所有设置,然后单击
Finish
。
在此过程之后,我尝试使用 Fiddler 测试 Web API 并收到上述错误。我已经尝试了各种方法,但到目前为止没有任何效果,我可以让它工作的唯一方法是将 XML 文件从项目的调试版本复制到服务器上的 bin
文件夹中。
我不明白的是我不需要这样做来让它工作,为什么 Visual Studio / Web 部署坚持 XML 存在?
我已经尝试过的解决方案
- A: How to prevent the copy of XML documentation files in a release mode build?
- A: Preventing referenced assembly PDB and XML files copied to output
- A: How to prevent Visual Studio from “publishing” XML documentation files in web projects?
如果您使用某些选项创建 Web API 项目,它还包括 MVC 功能以显示基于 XML 文档的 Web API 帮助页面。
我认为将在解决方案中的 Nuget 包称为 Microsoft.AspNet.WebApi.HelpPage
。
我从未使用过它,所以我不了解它何时可能会检查 XML 文件,但可能会删除它和 MVC 内容(如果您不使用文档)将停止寻找 XML 文件。