xml - VS 2017 WebAPI 帮助页面 - 未提供文档

标签 xml vb.net visual-studio-2017 asp.net-web-api-helppages

我已按照 MSDN 中的步骤进行操作,以及其他 SO 问题,以设置文档并在帮助页面的描述部分显示 XML 注释。但是,当我尝试构建或运行项目时收到错误。 Visual Studio 2017 在属性中不再具有“生成”选项。它已被“编译”部分取代。虽然此部分确实有“生成 XML 文档文件”选项,但它没有 XML 文档文件位置选项(如 MSDN 说明中所示)。也就是说,我们知道 XmlDocumentProvider 正在 HelpPageConfig.vb 文件中寻找“~/App_Data/XmlDocument.xml”。

首先,当我运行该项目时,它会返回“未提供文档”错误,因为那里没有文档。当我在 App_Data 文件夹中创建 XML 文档“XMLDocument.xml”时,会返回一条错误消息“找不到根元素”。添加根元素后不会返回任何错误;但是,帮助页面中也没有任何描述。

设置:

  • 确认 AreaRegistration.RegisterAllAreas() 在 Application_Start 中
  • 在 HelpPageConfig.vb 中取消注释 config.SetDocumentationProvider
  • 向所有 Controller 添加评论

我试过:

  • 设置复制到输出目录:如果较新则复制
  • 各种根元素名称(描述、注释、根等)

有谁知道根元素应该是什么,或者如果文件不存在,是否有办法让 VS 2017 自动生成文件?

最佳答案

我知道这个答案来得很晚,但我遇到了同样的问题。我无法让 Visual Studio 2017 将 XML 文档文件输出到建议的 ~/App_Data/XmlDocument.xml位置。

但是我发现在~/bin/<project name>.xml下生成了正确的文件.所以如果你的项目是“TestWebAPI2”,那么这个文件应该是~/bin/TestWebAPI2.xml .

(我看不到是否有办法将此文件移动/复制到 ~/App_Data ,但我没有找很长时间)

要让它工作,请转到 ~/Areas/HelpPage/App_Start/HelpPageConfig.vb 并更改以下行以适应:

config.SetDocumentationProvider(New XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")))

成为

config.SetDocumentationProvider(New XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/bin/<yourprojectname>.xml")))

(不要忘记将 <yourprojectname> 替换为您的 WebAPI2 项目名称)

关于xml - VS 2017 WebAPI 帮助页面 - 未提供文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50844202/

相关文章:

java - java.beans.XMLEncoder 的直接替代品

vb.net - 在 vb.net 中从数据表中打印行的更好方法

c# - 如何将自定义属性和事件添加到控件,例如文本框或按钮

c++ - 进入函数,但不进入 VS2017 的参数评估

c# - “元素”是无效的 XmlNodeType

xml - BaseX 中的 XQuery Update 查询成功,但没有任何更改写入文件

python - 将 ElementTree 编写为规范化 XML (c14n)

sql - Oracle:将字符串转换为 double

visual-studio - 找不到 "GetReferenceNearestTargetFrameworkTask"任务

c# - 在 Visual Studio 2017 中通过设计器添加到 RDLC 报告的图表将不起作用