我添加到 SwaggerConfig.cs 此字符串
c.CustomAsset("index", thisAssembly, "Table.Web.CustomContent.index.html");
...比运行应用程序,转到 swagger 文档并收到错误:
发生了错误。 未找到嵌入式资源 - Table.Web.CustomContent.index.html Swashbuckle.SwaggerUi.AssetNotFound
index.html 的构建操作属性设置为嵌入式资源
我该怎么办才能修复它?
答案 0 :(得分:0)
今天,我在一个ASP.NET C#项目中为此付出了一段时间的努力,最后通过汇总一些不同的资源来解决了这个问题。
首先(如Swagger注释中所述),必须通过在解决方案资源管理器中右键单击该项目并转到“属性”,然后从“资源”中选择“嵌入式资源”,将该项目标记为嵌入式资源。生成操作下拉菜单。
第二,逻辑名称可能难以识别。就我而言,目录名称中的破折号一旦嵌入便被转换为下划线,从而导致大量的头发拉扯(hair_pulling?)。获得真实逻辑路径的最简单方法是从“构建输出”窗口中获取它。
输出日志应明确显示文件的真实逻辑名称,例如...
Resource file 'swagger-ui\SwaggerUiStyle.css' gets manifest resource name 'MySolutionName.swagger_ui.SwaggerUiStyle.css'
(@ bkwdesign的credit在这方面的出色解释)