Как обработать путь на лазури для XmlDocumentationProvider

Я использую Azure для развертывания моих новых веб-API, я новичок в развертывании на IIS и Azure.

Я добавил свои веб-API на Azure как веб-приложение, и оно работает нормально, пока я не добавил документацию для функций каждого API. После добавления описания я раскомментирую строку ниже из HelpPageConfig.cs.

config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

Он работает локально, и я могу видеть все описания, но когда я опубликовал его на Azure, я получаю сообщение об ошибке,

Could not find a part of the path 'D:\home\site\wwwroot\App_Data\XmlDocument.xml'.

URL сайта: http://mejodo.azurewebsites.net/

Нужно ли менять путь?

Файл уже создан в моей системе в каталоге D:\home\site\wwwroot\App_Data.

Какие изменения мне нужно сделать, чтобы это работало?

6 ответов

Я была такая же проблема. Для меня файл был сгенерирован. Пожалуйста, следуйте инструкциям ниже.

  1. Нажмите на показать все файлы в обозревателе решений.
  2. Проверьте, есть ли у вас файл в папке App_Data
  3. Если у вас есть файл, щелкните правой кнопкой мыши и включите его в свой проект.
  4. Теперь создайте и опубликуйте в Azure.

Я надеюсь, что это будет работать. Спасибо

В моем случае XmlDocument.xml необходимо было добавить в Visual Studio в папку App_Data в решении с помощью "Добавить существующий элемент".

Просто добавьте в ваш проект новую папку "App_Data" с XmlDocument.xml и опубликуйте

Когда вы говорите, что у вас есть веб-API на Azure как веб-приложение, вы имеете в виду, что они являются приложениями на сайте? Если да, то я думаю, что вам не хватает имени приложения в пути к файлу XML.

Попробуйте перейти на mejodo.scm.azurewebsites.net > консоль отладки> powershell, чтобы увидеть точную структуру папок....

Вы должны убедиться, что строка вHelpPageConfig.csфайл вArea>HelpPage>App_Startпапка. то есть в методе регистрации эта строка

      config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

это раскомментировано

затем вы должны убедиться, что в конфигурации проекта, в файле документации сборки XML, это тот же путь, что и в вышеупомянутой строке.

Когда вы публикуете XML-файл, он попадает в папку bin, поэтому измените "D:\home\site\wwwroot\App_Data\XmlDocument.xml".

в

'D:\ главная \ сайт \ Wwwroot \ Bin\XmlDocument.xml.

и это должно работать.

Другие вопросы по тегам