我正在为我的.NET Core Web API项目使用Swashbuckle.AspNetCore
包。我想添加XML注解支持,所以我必须在应用程序设置中将Build => Output => XML documentation file设置为true
。
的数据
不幸的是,自动生成的路径是绝对路径C:\Users\myUser\...\repository\solution\project\project.xml
个
这只适用于我的机器。有办法使用占位符吗?例如:{{pathToProject}}\project.xml
个
所以它在本地调试和部署时工作?
4条答案
按热度按时间zxlwwiss1#
有一种简单的方法可以在相对路径上生成XML文档文件。只需将
DocumentationFile
属性设置为true
:字符串
这在另一个StackOverflow回答中有记录:https://stackoverflow.com/a/47118584/19112
然后,您可以设置
SwaggerGenOptions
来使用XML文档,如下所示:型
如这里的示例所示:https://code-maze.com/swagger-ui-asp-net-core-web-api/#ExtendingDocumentation
wztqucjr2#
单击
Browse...
按钮并选择项目路径下的文件夹,例如bin\debug
。然后检查
XML documentation file
。它将生成一个相对路径。的数据
nfg76nw03#
你可以修改project.csproj,然后你可以在debug[desired location]文件夹中得到一个自定义名称的xml文件。我注解掉了默认行。
字符串
wljmcqd84#
就我的研究而言,我注意到
<DocumentationFile>
元素中$(ProjectDir)
、$(MSBuildProjectDirectory)
或$(MSBuildThisFileDirectory)
之间的差异。在我的解决方案(.NET Core 3.1)的上下文中,前两个都解析为
C:\
,因此构建失败,并出现“无法写入输出文件-访问被拒绝”异常。只有第三个关键字实际解析为my .csproj所在的文件夹路径。所以如果你的构建失败了,我建议你尝试使用
MSBuildThisFileDirectory
。