2017-08-02 71 views
0

我有一個webapi項目,我正在使用swashbuckle框架來清除api文檔。Swashbuckle + XmlComments在本地工作,但在服務器上失敗招搖指數

我已經按照指示使用我的控制器和DTO構建文檔xml文件,並且它在本地很好地工作。

但是,當生成swagger文檔時,會引發500錯誤。我已經確認,如果我刪除我的xml註冊行,swagger文檔生成併成功返回。

這裏是我的註冊行:

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

更新:我做了一些額外的日誌記錄,雖然這對於LNE透過IncludeXmlComments成功運行在啓動時,當我從服務器請求swagger.json文件,我得到了一個System.IO.FileNotFoundException: Could not find file 'D:\home\site\wwwroot\bin\Monetary.Scheduling.xml'例外。當我使用Kudu工具來查看這個目錄時,我找不到這個文件。

TL; DR:爲什麼這個文件在本地顯示正常,但是當我使用Kudu或Octopus塊組件來部署到Azure時,該文件不在那裏?

回答

1

的問題是,不知何故XML文件是不是讓你的服務器...... 我有這個確切的問題與Azure的部署它在我的本地機器上運行良好,但不是在蔚藍

...它是因爲我錯過了XML文檔在發佈配置

Debug

Release

+0

在這裏,在Azure中正在我的測試項目:http://swashbuckletest.azurewebsites.net/swagger/ui/index – HelderSepu

+0

這正是問題所在。謝謝! –

+0

@NathanTregillus我真棒! :)感謝+1 – HelderSepu

相關問題