Die Dokumentation zum Aktivieren der XmlDoc-Integration in Ihre Web-Api-Projekte behandelt anscheinend nur Situationen, in denen alle Ihre API-Typen Teil Ihres WebApi-Projekts sind. Insbesondere wird erläutert, wie Sie die XML-Dokumentation in App_Data/XmlDocument.xml
eine Zeile in Ihrer Konfiguration umleiten und diese auskommentieren, in der diese Datei verwendet wird. Dies erlaubt implizit nur die Dokumentationsdatei eines Projekts.
In meinem Setup habe ich jedoch meine Anforderungs- und Antworttypen in einem gemeinsamen "Modelle" -Projekt definiert. Dies bedeutet, dass wenn ich einen Endpunkt definiert habe wie:
[Route("auth/openid/login")]
public async Task<AuthenticationResponse> Login(OpenIdLoginRequest request) { ... }
Wo OpenIdLoginRequest
ist in einem separaten C # -Projekt wie folgt definiert:
public class OpenIdLoginRequest
{
/// <summary>
/// Represents the OpenId provider that authenticated the user. (i.e. Facebook, Google, etc.)
/// </summary>
[Required]
public string Provider { get; set; }
...
}
Trotz der XML-Anweisungen enthalten die Eigenschaften des request
Parameters keine Dokumentation, wenn Sie die endpunktspezifische Hilfeseite (dh http://localhost/Help/Api/POST-auth-openid-login
) anzeigen .
Wie kann ich dafür sorgen, dass Typen in Teilprojekten mit XML-Dokumentation in der Web-API-XML-Dokumentation auftauchen?
quelle
var files...
Zeile durch zu ersetzen ,var files = Directory.GetFiles(documentPath, "*.xml");
wenn Sie (wie ich) nicht immer die Namen / Anzahl der XML-Dokumentationsdateien kennen, die dort vorhanden sein werden. Könnte bei Bedarf auch weiter filtern.Ich bin auch darauf gestoßen, wollte aber keinen der generierten Codes bearbeiten oder duplizieren, um später Probleme zu vermeiden.
Aufbauend auf den anderen Antworten finden Sie hier einen eigenständigen Dokumentationsanbieter für mehrere XML-Quellen. Fügen Sie dies einfach in Ihr Projekt ein:
... und aktivieren Sie es in Ihrem
HelpPageConfig
mit den Pfaden zu den gewünschten XML-Dokumenten:quelle
Eine weitere vereinfachte Möglichkeit besteht darin, die XML-Dateien zusammenzuführen. Beispielcode in meiner folgenden Antwort:
Web-API-Hilfeseite XML-Kommentare aus mehr als einer Datei
quelle
Hier stelle ich einen Antwortlink zur Verfügung, der Ihnen helfen kann. Sie können problemlos mehrere XML-Dateien zur Dokumentation verwenden.
Web-API-Hilfeseite XML-Kommentare aus mehr als einer Datei
quelle
Die einfachste Möglichkeit, dieses Problem zu beheben, besteht darin, den Ordner App_Code auf dem von Ihnen bereitgestellten Server zu erstellen. Kopieren Sie dann die XmlDocument.xml, die Sie in Ihrem bin-Ordner haben, lokal in den App_Code-Ordner
quelle