Nuget 类库,其中所有模型都没有获得Swagger的Xml注释

Nuget 类库,其中所有模型都没有获得Swagger的Xml注释,nuget,swagger,swashbuckle,xml-comments,nuspec,Nuget,Swagger,Swashbuckle,Xml Comments,Nuspec,我有一个公共类库,它被打包为自己的nugget库 它的nuspec看起来像以下xml: <?xml version="1.0"?> <package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"> <metadata> <id>MyCompany.MyDTOPackage</id> <version>1.0.0.0&

我有一个公共类库,它被打包为自己的nugget库

它的nuspec看起来像以下xml:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
    <metadata>
    <id>MyCompany.MyDTOPackage</id>
    <version>1.0.0.0</version>
    <authors>Nate Tregillus</authors>
    <owners>nate</owners>
    <projectUrl>https://github.com/myCompany/ClassLibrary</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <releaseNotes>Intital Release</releaseNotes>
    <description>Common Data Transfer Objects for all apps</description>
    <tags>dto models</tags>
    </metadata>
</package>

当我尝试使用这个包,并在我的swagger文档中使用包中的模型时,它们会在本地调试时出现,但不会在通过Kudu部署webapi项目时出现。查看Kudu正在构建的包,它完全忽略了
MyCompany.MyDTOPackage.xml
文件。我不明白为什么。我能做些什么来让它工作吗?

这不是一个金块、虚张声势或虚张声势的问题,它在本地工作的事实表明部署中存在问题

我建议您联系Kudu团队:



另一种方法是将XML文件作为嵌入式资源包含并以这种方式加载
如果正在使用,则需要添加一个xml包含,如:

IncludeXmlComments(() => new XPathDocument(
        thisAssembly.GetManifestResourceStream("FilePath.xml")));
如果您正在使用它,请检查您是否有
includealxmlcomcomments
,默认情况下它处于启用状态


哦,真有趣!我觉得这可能对我有用!现在就试用。是的,它应该可以工作,我是Swagger Net的开发人员,我将XML注释作为首要任务,测试了所有可能的场景,应该没有任何问题。我不确定您是如何从项目的根本上编译注释的。。。您的xml文档设置在项目的构建设置中是什么样子的?我问这个问题是因为我试图使用这些属性,但是当我通过github将项目交给Kudu时,它找不到文件…这里的关键是嵌入的资源,它不再是您需要“提供”给任何人或查找的文件,而是嵌入到您的dll中。
IncludeXmlComments(() => new XPathDocument(
        thisAssembly.GetManifestResourceStream("FilePath.xml")));