2017-08-02 5 views
0

J'ai un projet webapi, et j'utilise le framework swashbuckle pour débusquer la documentation api.Swashbuckle + XmlComments fonctionnent localement, mais la génération échoue swagger sur le serveur

J'ai suivi les instructions pour construire le fichier XML de documentation avec mon contrôleur et mes DTO, et tout cela fonctionne très bien localement. Toutefois, lors de la génération du document swagger, une erreur 500 est renvoyée. J'ai confirmé que si je supprime ma ligne d'inscription xml, le document swagger est généré et retourné avec succès.

ici est ma ligne d'inscription:

GlobalConfiguration.Configuration.EnableSwagger(c => 
        { 
... 
    c.IncludeXmlComments($"{System.AppDomain.CurrentDomain.BaseDirectory}bin\\Company.MyApp.xml"); 
... 

Mise à jour: Je l'ai fait une exploitation forestière supplémentaire, et bien que ce LNE pour IncludeXmlComments passe par avec succès au démarrage, quand je demande le fichier swagger.json du serveur , Je reçois une exception System.IO.FileNotFoundException: Could not find file 'D:\home\site\wwwroot\bin\Monetary.Scheduling.xml'. Lorsque j'utilise les outils Kudu pour regarder dans ce répertoire, je ne trouve pas ce fichier. Pourquoi ce fichier s'affiche-t-il correctement localement, mais lorsque je le déploie sur Azure à l'aide de Kudu ou d'un package de pépites Octopus, ce fichier n'existe-t-il pas?

Répondre

1

Le problème est que en quelque sorte le fichier XML ne fait pas à votre serveur ... Je eu ce problème exact avec un déploiement Azure il a bien fonctionné dans ma machine locale, mais pas dans d'azur

... et ce fut parce que je manque le doc XML dans la configuration de libération

Debug

Release

+0

Voici mon projet de test fonctionne dans Azure: http://swashbuckletest.azurewebsites.net/swagger/ui/index – HelderSepu

+0

c'était exactement le problème. Merci! –

+0

@NathanTregillus Je suis génial comme ça! :) merci pour le +1 – HelderSepu