Я пытаюсь обновить пакет swashbuckle.aspnetcore от версии 7.3.2 до последней версии, которая в настоящее время составляет 9,0.3, в приложении ASP.Net Core Targeting .NET 8. Обратите внимание, что это приложение будет пропускать .NET 9 и обновлять до .NET 10 в будущем, но это может быть каким -то временем. В настоящее время есть эта строка: < /p>
app.UseSwagger();
< /code>
, который создает файл swagger.json, который начинается с: < /p>
"openapi": "3.0.1",
< /code>
И все хорошо. Если я просто обновлю пакет без изменения кода, моя страница документации показывает сообщение об ошибке: < /p>
Невозможно отобразить это определение < /p>
Предоставленное определение не указано в действительном поле версии. Поддерживаемые поля версий-это Swagger: «2.0» и те, которые соответствуют OpenAPI: 3.x.y (например, OpenAPI: 3.1.0). < /P>
< /blockquote>
В данном случае файл Swagger.json начинается с: < /p>
, что, кажется, должно быть действительным. Я могу изменить код C# на это: < /p>
app.UseSwagger(options => options.OpenApiVersion = Microsoft.OpenApi.OpenApiSpecVersion.OpenApi2_0);
< /code>
и отображается страница, создавая файл swagger.json, который начинается с: < /p>
"swagger": "2.0",
< /code>
, который в основном работает, но создает еще одну проблему, в которую я не буду здесь. Если я изменю openAPI2_0
на openApi3_0 , то у меня есть та же проблема, что и раньше, так как я просто явно указываю значение по умолчанию.>
Я пытаюсь обновить пакет swashbuckle.aspnetcore от версии 7.3.2 до последней версии, которая в настоящее время составляет 9,0.3, в приложении ASP.Net Core Targeting .NET 8. Обратите внимание, что это приложение будет пропускать .NET 9 и обновлять до .NET 10 в будущем, но это может быть каким -то временем. В настоящее время есть эта строка: < /p> [code]app.UseSwagger(); < /code> , который создает файл swagger.json, который начинается с: < /p> "openapi": "3.0.1", < /code> И все хорошо. Если я просто обновлю пакет без изменения кода, моя страница документации показывает сообщение об ошибке: < /p>
Невозможно отобразить это определение < /p> Предоставленное определение не указано в действительном поле версии. Поддерживаемые поля версий-это Swagger: «2.0» и те, которые соответствуют OpenAPI: 3.x.y (например, OpenAPI: 3.1.0). < /P> < /blockquote> В данном случае файл Swagger.json начинается с: < /p>
, что, кажется, должно быть действительным. Я могу изменить код C# на это: < /p> app.UseSwagger(options => options.OpenApiVersion = Microsoft.OpenApi.OpenApiSpecVersion.OpenApi2_0); < /code> и отображается страница, создавая файл swagger.json, который начинается с: < /p> "swagger": "2.0", < /code> , который в основном работает, но создает еще одну проблему, в которую я не буду здесь. Если я изменю openAPI2_0 [/code] на openApi3_0 , то у меня есть та же проблема, что и раньше, так как я просто явно указываю значение по умолчанию.>