Umbraco 7.0.2 на облачном сервисе Azure-доступ к пути 'E:sitesroot1configapplications.config ' отказано


У меня есть облачная служба, работающая в Azure, и я пытаюсь добавить Umbraco в качестве виртуального приложения к WebRole:

Служебное определение.csdef:

...
 <Site name="Web">
        <VirtualApplication name="cms" physicalDirectory="../../../umbracocms" />
...

Он отлично работает на моем локальном компьютере в эмуляторе, однако при развертывании пакета в облачной службе Azure я не могу получить доступ к странице Umbraco, он возвращает следующую ошибку:

Access to the path 'E:sitesroot1configapplications.config' is denied.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.UnauthorizedAccessException: Access to the path 'E:sitesroot1configapplications.config' is denied. 

Трассировка Стека:

[UnauthorizedAccessException: Access to the path 'E:sitesroot1configapplications.config' is denied.]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +216
   System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) +1430
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) +205
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync) +112
   System.Xml.XmlWriterSettings.CreateWriter(String outputFileName) +7430688
   System.Xml.Linq.XDocument.Save(String fileName, SaveOptions options) +189
   Umbraco.Core.Services.SectionService.LoadXml(Action`1 callback, Boolean saveAfterCallback) +253
   Umbraco.Core.EnumerableExtensions.ForEach(IEnumerable`1 items, Action`1 action) +148
   Umbraco.Core.CoreBootManager.Complete(Action`1 afterComplete) +116
   Umbraco.Web.WebBootManager.Complete(Action`1 afterComplete) +337

[HttpException (0x80004005): Access to the path 'E:sitesroot1configapplications.config' is denied.]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +12582201
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +175
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +304
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +404
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475

[HttpException (0x80004005): Access to the path 'E:sitesroot1configapplications.config' is denied.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12599232
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12438981

Я уже пытался добавить задачу запуска безрезультатно:

<Startup priority="1">
  <Task commandLine="startup.bat" executionContext="elevated" taskType="simple" />
</Startup>

Стартап.летучая мышь:

echo "starting startup task" >> log.txt
%windir%system32Icacls.exe ..* /T /grant "Network Service":(F) > log.txt

, а также добавить разрешения на событие OnStart веб-роли, как указано здесьURL . Это тоже не сработало.

Когда я удаляю рабочий стол непосредственно в экземпляр, папка E:sitesroot даже не существует.

1 5

1 ответ:

Для тех, кто хотел бы знать. Я нашел проблему. Запуск.сценарий bat не был успешно запущен. Я смог выяснить это, изменив его на следующее:

Стартап.летучая мышь

%windir%\system32\Icacls.exe ..\..\* /T /grant "Network Service":(F) > c:\\logStart.txt 2>&1
exit /b 0

И проблема была связана с кодировкой файла. Файл успешно запустился только после использования notepad++ и изменения кодировки на "UTF-8 без BOM"