Эмулятор вычислений Azure не запускается

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

Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)

Если я нажимаю "Показать детали", я получаю следующее сообщение:

System.Runtime.InteropServices.COMException (0x800700B7): Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   at Microsoft.WindowsAzure.GuestAgent.EmulatorRuntime.EmulatorRuntimeImpl.Initialize(String runtimeConfigIniFile, String serviceName, String rootPath, String logFilePath)
   at Microsoft.ServiceHosting.Tools.DevelopmentFabric.Fabricator.InitializeEmulatorRuntime()
   at Microsoft.ServiceHosting.Tools.DevelopmentFabric.Fabricator.InitializeRuntimeAgents()
   at Microsoft.ServiceHosting.Tools.DevelopmentFabric.Fabricator.Initialize()
   at Microsoft.ServiceHosting.Tools.DevelopmentFabric.Program.Main(String[] args)

Я в растерянности, я полностью удалил Azure SDK (текущая версия и все предыдущие версии), а затем переустановил только последнюю версию (2.8). Я отключил функции IIS и снова включил его. Я удалил / очистил файл dftmp. Я пытался восстановить SQL Management Studio 2014 R1 и Visual Studio 2015. Я понятия не имею, о каком файле порта идет речь. Я перезагружал свой компьютер несколько сотен раз. При попытке запуска эмулятора вычислений процесс службы эмулятора вычислений Microsoft Azure запускается и продолжает работать вместе с DFService.exe и dfMonitor.exe. Идеи закончились. Кто-нибудь знает, как это исправить? Или к какому файлу он относится, чтобы его можно было удалить? Кстати, эмулятор хранилища запускается просто отлично.

Дополнительная информация:

Командная строка Windows Azure

csrun /devfabric:shutdown 

"The compute emulator is not running." 

Однако он не завершает процессы и сохраняет файлы активными, поэтому он не сможет удалить EmulatorRuntime.log или DFService.log. Если я иду и заканчиваю процессы в диспетчере задач, тогда запускаю clean, он фактически очищает.

csrun /devfabric:start

"Starting the compute emulator..." 

Тогда ничего не происходит. Это довольно захватывающе.

sqllocaldb stop MSSQLLocalDB

"LocalDB instance 'MSSQLLocalDB' stopped." 

sqllocaldb delete MSSQLLocalDB

"LocalDB instance 'MSSQLLocalDB' deleted." 

В этот момент я также удалил%UserProfile%/AzureStorageEmulatorDb42.mdf и.ldf

sqllocaldb delete MSSQLLocalDB

"LocalDB instance 'MSSQLLocalDB' started."

На данный момент он больше не содержит базу данных AzureStorageEmulatorDb42, но возвращает все пустые таблицы, кроме учетной записи, в которой есть одна строка devstorageaccount1.

EmulatorRuntime.log

[00015280:00006600, 2016/03/18, 21:57:59.949, INFO ] Initializing agent runtime. isDesktop: TRUE allowMultipleRoles:TRUE rootPath: C:\Users\tyangell\AppData\Local\dftmp\
[00015280:00006600, 2016/03/18, 21:57:59.949, INFO ] Agent: Starting.
[00015280:00006600, 2016/03/18, 21:57:59.949, INFO ] Agent: Initialized.
[00015280:00006600, 2016/03/18, 21:57:59.949, INFO ] Machine Configuration:
[00015280:00006600, 2016/03/18, 21:57:59.964, INFO ] Agent flags value = 0x980
[00015280:00006600, 2016/03/18, 21:57:59.997, INFO ] Deleting sublayer 7ad92418-6582-4371-96f1-703ce4f99418
[00015280:00006600, 2016/03/18, 21:57:59.998, INFO ] Agent: Initializing disks.
[00015280:00020148, 2016/03/18, 21:57:59.999, INFO ] ACLing root folder C:\Users\tyangell\AppData\Local\dftmp\
[00015280:00020148, 2016/03/18, 21:58:00.001, INFO ] Finished ACLing root folder C:\Users\tyangell\AppData\Local\dftmp\
[00015280:00006600, 2016/03/18, 21:58:00.001, INFO ] Root folder ACL thread finished executing.
[00015280:00006600, 2016/03/18, 21:58:00.001, INFO ] Agent: Disks initialized.
[00015280:00006600, 2016/03/18, 21:58:00.001, INFO ] Agent: Initializing runtime.
[00015280:00006600, 2016/03/18, 21:58:00.001, INFO ] Setting all Sids to Built-in administrators...
[00015280:00006600, 2016/03/18, 21:58:00.001, INFO ] Initializing Runtime Http Monitor...   
[00015280:00006600, 2016/03/18, 21:58:00.001, INFO ] Finished initializing Runtime Http Monitor.

[00015280:00006600, 2016/03/18, 21:58:00.001, WARN ] Container 00000000-0000-0000-0000-000000000000 not found.
[00015280:00019052, 2016/03/18, 21:58:00.001, INFO ] >>>>_Context_Start: {17477CD7-A015-46C5-8EA6-0F8CD34F5796}     Context={{ RuntimeHttpMonitor }}
[00015280:00006600, 2016/03/18, 21:58:00.001, WARN ] <- RuntimeFindContainer=0x80070490
[00015280:00006600, 2016/03/18, 21:58:00.001, INFO ] Agent: Runtime initialized.
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] Agent: Started.
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] >>>>_Context_Start: {032EB212-30FC-469C-9CE7-6792CCB409E5}     Context={{ AgentCreateContainer:    ContainerId=EmulatorContainer}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] <- AgentMonitoringObject::EventStart(0x00007FFA1197E5A0) =0x80070015       Context={{ AgentCreateContainer:    ContainerId=EmulatorContainer}
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] >>>>_Context_Start: {AB8AB0D3-A170-4223-9B31-3562305D67AA}     Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] >>>
AgentCreateContainerWorker() called with
    Id=EmulatorContainer
        Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] Creating a container of type 1     Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] Container EmulatorContainer not found.     Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] <- RuntimeFindContainer=0x80070490     Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] <- AgentMonitoringObject::EventStart(0x00007FFA1197E5A0) =0x80070015       Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] AgentpCreateContainerWorker Returning
    00000000.
<<<     Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] <<<<_Context_Ends: {AB8AB0D3-A170-4223-9B31-3562305D67AA}  Return value = 00000000.        Context={{ AgentpCreateContainerWorker:     Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] <- AgentMonitoringObject::EventEnd(0x00007FFA1197E5A0) =0x80070015
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] <<<<_Context_Ends: {4BE85F52-DC49-4359-AD52-AD97661E9109}  Return value = 00000000. 
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] >>>>_Context_Start: {BDC4EA59-A0B2-454F-9B28-187515E8E947}     Context={{ StartContainer:  ContainerId=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] <- AgentMonitoringObject::EventStart(0x00007FFA1197E5A0) =0x80070015       Context={{ StartContainer:  ContainerId=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] >>>>_Context_Start: {8ED05D2B-1F69-4A43-9449-BAA47C9DFEAE}     Context={{ AgentpStartContainerWorker:  Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] <- AgentMonitoringObject::EventStart(0x00007FFA1197E5A0) =0x80070015       Context={{ AgentpStartContainerWorker:  Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] <<<<_Context_Ends: {8ED05D2B-1F69-4A43-9449-BAA47C9DFEAE}  Return value = 00000000.        Context={{ AgentpStartContainerWorker:  Id=EmulatorContainer }}
[00015280:00006600, 2016/03/18, 21:58:00.180, WARN ] <- AgentMonitoringObject::EventEnd(0x00007FFA1197E5A0) =0x80070015
[00015280:00006600, 2016/03/18, 21:58:00.180, INFO ] <<<<_Context_Ends: {4BE85F52-DC49-4359-AD52-AD97661E9109}  Return value = 00000000. 

DFService.log

Started: "C:\Program Files\Microsoft SDKs\Azure\Emulator\devfabric\DFService.exe" -sp "C:\Users\tyangell\AppData\Local\dftmp" -enableIIS -singleInstance -elevated

3 ответа

Решение

После почти полного года поиска в блоге сообщение с решением было найдено!! https://blogs.msdn.microsoft.com/cie/2016/05/17/azure-emulator-crash-with-error-0x800700b7-cannot-create-a-file-when-that-file-already-exists

Поскольку ссылки в блогах имеют тенденцию к изменению, я повторю здесь:


Во-первых, я предлагаю вам проверить следующий отличный блог поддержки:

https://blogs.technet.microsoft.com/supportingwindows/2014/08/11/wmi-missing-or-failing-wmi-providers-or-invalid-wmi-class

Затем, после того, как вы проверили сообщение в блоге, вам нужно проверить, какой из них является отсутствующим или неисправным классом WMI, выполнив следующие действия:

  1. Перейти к запуску-запустить и введите wmimgmt.msc
  2. Щелкните правой кнопкой мыши на Local WMI Control (Local) и выберите свойства.
  3. На вкладке "Общие", если в этом поле отмечены сбои, это указывает на проблему с WMI.
  4. Найдены файлы.MOF для пространства имен / класса Win32_Processor

В этом случае я увидел, что существует несколько недопустимых классов WMI:

  • Win32_Processor
  • Win32_WMISetting

Свойства управления WMI (локальные) с ошибкой

  1. Восстановите файл MOF, запустив mofcomp.exe . Mofcomp.exe находится в папке C:\Windows\System32\wbem.
    C:\Windows\System32\wbem>mofcomp.exe CimWin32.mof

  2. А затем заново зарегистрируйте связанную DLL, выполнив команду regsvr32
    C:\Windows\System32\wbem>regsvr32 cimwin32.dll

Исправить проблему

  1. Убедитесь, что это исправлено или нет, еще раз проверив элемент управления WMI (wmimgmt.msc). На этот раз, как вы можете видеть на рисунке ниже, больше нет ошибок класса WMI.

Свойства управления WMI (локальные) исправлены

  1. Затем перезапустите эмулятор, и на этот раз вы увидите, что эмулятор снова запустится, на этот раз без проблем / сбоев.

Благодарим Джулио Ко от Microsoft.

Для тех, кто получает эту проблему (с последней версией VS 2017 15.6) и DONT, есть какие-либо проблемы с WMI, как описано здесь, вы не одиноки:(

Кажется, ошибка адаптировалась и теперь вызвана чем-то другим.

После недавнего обновления Windows я начал видеть эту ошибку при попытке запустить приложение, которое ранее запускалось без ошибок.

При попытке запустить эмулятор вычислений через оболочку Azure SDK (или "Командная строка Microsoft Azure") от имени администратора с помощью команды csrun /devfabric /usefullemulator Затем меня спросили, хочу ли я разрешить эмулятору вычислений общаться через брандмауэр Windows. После включения я смог снова использовать VS(2017) как обычно, без ошибок.

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