Изменил ли Azure 1.8 (октябрь 2012 г.) способ настройки нескольких сайтов в ServiceDefinition?

Перед обновлением до 1.8 (октябрь 2012 г.) мы настраивали наши сайты в ServiceDefinition.

<Site name="Admin" physicalDirectory="..\Company.Admin">
  <Bindings>
    <Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
  </Bindings>
</Site>

После обновления я получил следующую ошибку при попытке опубликовать.

Error 125 Cannot find the physical directory 'C:\Users\Me\Code\Company.Cloud\bin\Company.Admin' for virtual path Admin/.

Нам пришлось обновить значение PhysicalDirectory и переместить еще на 2 папки.

<Site name="Admin" physicalDirectory="..\..\..\Company.Admin">
  <Bindings>
    <Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
  </Bindings>
</Site>

Похоже, что до 1.8 Azure выполнялся в контексте исходного местоположения файла csdef, но теперь он выполняется из bin\Release\ServiceDefinition.csdef, который на 2 папки глубже.

Мне не удалось найти в Интернете учебник, в котором конкретно говорится об этой функции, используемой в последней версии SDK. Это было официальное изменение? Я должен также упомянуть, что мы также обновились до VS 2012 одновременно.

Я чувствую, что этой функцией постоянно пренебрегают. (См. Отсутствие проблемы преобразования.config). Мы хотели бы перейти на веб-сайты Azure, но мы не сможем сделать это, пока SSL/HTTPS не будет доступен, и он будет недоступен для предварительного просмотра.

2 ответа

Решение

Да, это было официальное изменение, но я не могу найти какую-либо документацию об этом, кроме того, что содержится в отчете об обновлении:

"Атрибут PhysicalDirectory"..\MyWebRole "элемента Site содержит относительный путь. Этот путь является относительным к каталогу, в котором находится целевой файл определения службы при упаковке. В предыдущих версиях этот файл находился в корневом каталоге проекта. В этой версии по умолчанию этот файл находится в выходном каталоге проекта. Возможно, вам потребуется обновить относительный путь, чтобы отразить новое местоположение целевого файла определения службы. "

В ответ на проблему sudhAnsu63 у меня была та же проблема, когда я обновлял атрибут PhysicalDirectory, но он перезагружал файл и возвращался к старой (теперь неправильной) конфигурации. Я до сих пор не понимаю, почему, но я заметил, что VS иногда открывал несколько версий одного и того же файла. Мне пришлось закрыть все остальные файлы, внести свои изменения, сохранить и закрыть файл, затем он, наконец, взял мои изменения и начал работать. Я считаю, что редактирование файла внешне в VS (как в блокноте) может работать. Как ни странно, однажды, когда я все заработал, похоже, проблема больше не возникает.

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