Изменил ли 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 (как в блокноте) может работать. Как ни странно, однажды, когда я все заработал, похоже, проблема больше не возникает.