API службы приложений Azure получает FileNotFoundException: не удалось найти файл "D:\home\site\wwwroot\MyApi.xml при попытке запустить swagger

Я работаю над API ASP.NET Core 2.2, развернутым в службах приложений Azure. Я развертываю в слот DEV.

Я использую Swagger, который отлично работает на моем локальном хосте, но когда я перехожу по URL-адресу слота DEV и использую /swagger, я получаю сообщение об ошибке;

FileNotFoundException: Could not find file 'D:\home\site\wwwroot\MyApi.xml 

В моем файле *.csproj есть следующее:

<PropertyGroup>
  <GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>  

И когда я иду в Kudu для слота DEV, я вижу файл MyApi.xml в папке /site/wwwroot. Если я отредактирую его в Kudu, я увижу, что содержимое соответствует ожиданиям.

В моем проекте Startup.cs class -> метод Configure у меня есть;

app.UseStaticFiles(); 

Это похоже на сообщение SO здесь, но в этом сообщении файл на самом деле не отображался в wwwroot, тогда как в моем случае он есть.

В остальном API работает правильно, поскольку я могу использовать Postman для тестирования всех конечных точек API в слоте DEV. Просто когда я пытаюсь получить доступ к URL-адресу слота DEV + /swagger из Chrome, я получаю исключение FileNotFound.

Мой метод Startup.cs --> ConfigureServices имеет следующее;

services.AddSwaggerGen(
    options =>
    {
        // integrate xml comments
        options.IncludeXmlComments(XmlCommentsFilePath);
    });

а метод XmlCommentsFilePath приведен ниже;

private static string XmlCommentsFilePath
{
    get
    {
        var basePath = PlatformServices.Default.Application.ApplicationBasePath;
        var fileName = typeof(Startup).GetTypeInfo().Assembly.GetName().Name + ".xml";
        return Path.Combine(basePath, fileName);
    }
}

Я предполагаю, что настройка Swagger верна, поскольку она работает локально, и ошибка, которую я получаю при развертывании в слоте DEV, — это FileNotFound, указывающий на D:\home\site\wwwroot\MyApi.xml, где этот файл на самом деле существует< /strong> согласно Куду для этого слота.

ОБНОВЛЕНИЕ 1

Я также попробовал рекомендацию для ASP.NET 2.2 в этой ссылке SO безуспешно.

Что мне здесь не хватает?


person whiskytangofoxtrot    schedule 22.03.2019    source источник