Swashbuckle + XmlComments 在本地工作,但在服务器上无法生成 swagger
Swashbuckle + XmlComments work locally, but fail swagger generation on server
我有一个 webapi 项目,我正在利用 swashbuckle 框架清除 api 文档。
我已按照说明使用我的控制器和 DTO 构建文档 xml 文件,并且在本地运行良好。
但是生成swagger文档时,抛出500错误。我已经确认如果我删除我的 xml 注册行,就会生成 swagger 文档并成功返回。
这是我的注册行:
GlobalConfiguration.Configuration.EnableSwagger(c =>
{
...
c.IncludeXmlComments($"{System.AppDomain.CurrentDomain.BaseDirectory}bin\Company.MyApp.xml");
...
更新: 我做了一些额外的日志记录,虽然这个用于 IncludeXmlComments 的 lne 在启动时成功运行,但当我从服务器请求 swagger.json 文件时,我我收到 System.IO.FileNotFoundException: Could not find file 'D:\home\site\wwwroot\bin\Monetary.Scheduling.xml'
异常。当我使用Kudu工具查看这个目录时,我找不到这个文件。
TL;DR: 为什么这个文件在本地显示正常,但是当我使用 Kudu 或 Octopus nugget 包部署到 Azure 时,这个文件不存在?
问题是 XML 文件没有发送到您的服务器...
我在 Azure 部署中遇到了这个确切的问题,它在我的本地机器上运行良好,但在 Azure 中却没有
...这是因为我在发布配置中缺少 XML 文档
我有一个 webapi 项目,我正在利用 swashbuckle 框架清除 api 文档。
我已按照说明使用我的控制器和 DTO 构建文档 xml 文件,并且在本地运行良好。
但是生成swagger文档时,抛出500错误。我已经确认如果我删除我的 xml 注册行,就会生成 swagger 文档并成功返回。
这是我的注册行:
GlobalConfiguration.Configuration.EnableSwagger(c =>
{
...
c.IncludeXmlComments($"{System.AppDomain.CurrentDomain.BaseDirectory}bin\Company.MyApp.xml");
...
更新: 我做了一些额外的日志记录,虽然这个用于 IncludeXmlComments 的 lne 在启动时成功运行,但当我从服务器请求 swagger.json 文件时,我我收到 System.IO.FileNotFoundException: Could not find file 'D:\home\site\wwwroot\bin\Monetary.Scheduling.xml'
异常。当我使用Kudu工具查看这个目录时,我找不到这个文件。
TL;DR: 为什么这个文件在本地显示正常,但是当我使用 Kudu 或 Octopus nugget 包部署到 Azure 时,这个文件不存在?
问题是 XML 文件没有发送到您的服务器... 我在 Azure 部署中遇到了这个确切的问题,它在我的本地机器上运行良好,但在 Azure 中却没有
...这是因为我在发布配置中缺少 XML 文档