我已按照 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/