Wie in der akzeptierten Antwort angegeben, müssen Sie sicherstellen, dass sich die Ausgabe der XML-Dokumentationsdatei in bin und nicht in bin \ Debug oder bin \ Release befindet (überprüfen Sie dies für alle Build-Konfigurationen).
Ich habe immer noch die 500-Antwort erhalten, da ich mehrere XML-Dokumentationsdateien verwende. In meiner SwaggerConfig- Implementierung füge ich XML-Dokumentationsdateien aus zwei Projekten hinzu (dem WebApi-Projekt selbst und einer Klassenbibliothek, auf die das WebApi-Projekt verweist):
c.IncludeXmlComments(string.Format(@"{0}\bin\MyWebApiProject.xml", System.AppDomain.CurrentDomain.BaseDirectory));
c.IncludeXmlComments(string.Format(@"{0}\bin\ReferencedProject.xml", System.AppDomain.CurrentDomain.BaseDirectory));
Die XML-Dokumentationsdatei des WebApi-Projekts wurde korrekt im bin-Ordner der Site veröffentlicht, die XML-Dokumentationsdatei des referenzierten Projekts jedoch nicht (obwohl sie im bin-Ordner des kompilierten Projekts angezeigt wird ).
Sie müssen also die WebApi-Projektdatei (.csproj) in einem Texteditor ändern und die folgenden Abschnitte unten hinzufügen ( ReferencedProject ersetzen ):
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForMsdeployDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="..\ReferencedProject\bin\ReferencedProject.xml" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
Siehe Wie fügen Sie zusätzliche Dateien mithilfe von VS2010-Webbereitstellungspaketen ein? für eine vollständige Erklärung.