Работа над моим первым веб-API и использование Swagger для документации.Я обычно публикую свой веб-API локально, а затем перемещаю его в IIS.Внутри Visual Studio 2017 я опубликую API в виде файловой системы в папке с именем C: \ Опубликованные сайты \ APIName, и это то, что я сделал для этого API.Затем я создаю сайт в IIS и копирую все файлы поверх.
Когда я работаю с API на моем локальном компьютере, все работает, но как только я публикую локально, переместите его на мой сервер STAGE и попробуйте запустить полученный API, а также сообщение об ошибке «Не удалось загрузить файл или сборку» ион ссылается на «MyAPI.SwaggerConfig.Register () в C: \ TFS \ MyAPI \ WorkdayAPI \ App_Start \ SwaggerConfig.cs: 51», и это местоположение папки даже на сервере STAGE.
Я также заметил, что в папке Bin, в которой я публикую свои файлы, нет файла WorkdayAPI.xml, который Swagger использует для отображения сводки и комментариев.
Вот что у меня в файле SwaggerConfig:
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.ApiKey("Api-Token")
.Description("API Key for accessing secure APIs")
.Name("Api-Token")
.In("header");
c.SingleApiVersion("v1", "WorkdayAPI");
c.IncludeXmlComments(string.Format(@"{0}\bin\WorkdayApi.XML",
System.AppDomain.CurrentDomain.BaseDirectory));
// If you want the output Swagger docs to be indented properly, enable the "PrettyPrint" option.
c.PrettyPrint();
})
.EnableSwaggerUi(c =>
{
// If your API supports ApiKey, you can override the default values.
// "apiKeyIn" can either be "query" or "header
c.EnableApiKeySupport("Api-Token", "header");
});
}
}
У кого-нибудь есть идеи, почему он ищет этот файл SwaggerConfig.cs?Я думал, что скомпилировано в MyAPI.dll?Любые предложения о том, что мне нужно сделать?