XML文档未显示在Nuget包的swagger中

sulc1iza  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(83)

我有一个nuget包,它是一个公共模型对象的库项目。nuget包是用<GenerateDocumentationFile>true</GenerateDocumentationFile>构建的,我可以在下载的nuget包中看到xml文件。我看到0.0.61\lib\net6.0\ MyModels.dll and MyModels.xml
我遇到的问题是在我的API项目中使用这个nuget包,似乎包的xml没有被复制到输出目录。Swagger并没有从中获取xml注解。我可以看到在API projects的bin目录中,nuget包的xml文件丢失了。
我清除了nuget缓存,并强制恢复所有nuget软件包。有什么建议吗

wxclj1h5

wxclj1h51#

Askeli评论了这个链接,它让我找到了答案https://stackoverflow.com/a/64006774/1729859
我把它放在我的csproj文件中,以便在本地运行。

<Target Name="_ResolveCopyLocalNuGetPkgXmls" AfterTargets="ResolveReferences">
    <ItemGroup>
      <ReferenceCopyLocalPaths Include="@(ReferenceCopyLocalPaths->'%(RootDir)%(Directory)%(Filename).xml')" Condition="'%(ReferenceCopyLocalPaths.NuGetPackageId)'!='' and Exists('%(RootDir)%(Directory)%(Filename).xml')" />
    </ItemGroup>
</Target>

这对Docker没有帮助。我最终把它放在我的docker文件的顶部附近,然后重建我的图像,它工作了。

ENV NUGET_XMLDOC_MODE=all

相关问题