Azure计算仿真器无法启动

时间:2016-03-18 23:11:13

标签: azure visual-studio-2015 azure-compute-emulator

有一段时间我的Azure Compute Emulator将无法启动。当我尝试时,我收到以下错误:

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的Account。

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 个答案:

答案 0 :(得分:0)

经过近一整年的搜索博客文章已找到解决方案! 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. 右键单击“本地WMI控制(本地)”并选择“属性”。
  3. 在常规选项卡上,如果该框中注明有任何失败,则表示核心WMI问题。
  4. 找到Win32_Processor命名空间/类
  5. 的.MOF文件

    对于这种情况,我看到有一些WMI无效的类:

    • Win32_Processor
    • Win32_WMISetting

    WMI Control (Local) Properties with Error

    1. 运行mofcomp.exe修复MOF文件。 mofcomp.exe位于C:\ Windows \ System32 \ wbem文件夹中。
      <!doctype html> <html data-ng-app="myapp"> <head> <title>AngularJS ui-router Demo</title> <link href="<path to bootstrap css file>" rel="stylesheet" /> <script src="<path to angular.min.js>"></script> <script src="<path to angular-ui-router.min.js>"></script> <script src="app.js"></script> </head> <body class="container"> <div class="navbar"> <div class="navbar-inner"> <a class="brand" href="#">Quick Start</a> <ul class="nav"> <li><a ui-sref="route1">Route 1</a></li> <li><a ui-sref="route2">Route 2</a></li> </ul> </div> </div> <div class="row"> <div class="span12"> <div class="well" ui-view></div> </div> </div> <!-- angular script --> <script> var myapp = angular.module('myapp', ['ui-router']); myapp.config(function($stateProvider, $urlRouterProvider) { $stateProvider .state('route1', { url: '/route', templateUrl: 'route1.html' }) .state('route1.list', { url: '/list', templateUrl: 'route1.list.html', controller: function($scope) { $scope.items = ['A', 'List', 'of', 'Items']; } }) .state('route2', { url: '/route2', templateUrl: 'route2.html' }) .state('route2.list', { url: '/list', templateUrl: 'route2.list.html', controller: function($scope) { $scope.things = ['A', 'Set', 'of', 'Things']; } }) }) </script> </body> </html>

    2. 然后通过运行命令regsvr32重新注册关联的DLL
      C:\Windows\System32\wbem>mofcomp.exe CimWin32.mof

    3. Fix Issue

      1. 再次检查WMI控件(wmimgmt.msc),验证它是否已修复。这一次,如下图所示,不再有WMI类错误。
      2. WMI Control (Local) Properties Fixed

        1. 然后,重新启动模拟器,这次你会看到模拟器再次运行,这次没有问题/崩溃。
        2. 归功于微软的Julio Co。

答案 1 :(得分:0)

对于那些遇到此问题的人(使用最新版本的VS 2017 15.6)和DONT与此处所述的WMI有任何问题,您并不孤单:(

似乎错误已经适应,现在是由其他原因造成的。

答案 2 :(得分:0)

在最近的Windows更新之后,当我尝试运行以前没有错误运行的应用程序时,我开始看到此错误。

通过尝试使用命令csrun /devfabric /usefullemulator以管理员身份通过Azure SDK Shell(又名“ Microsoft Azure命令提示符”)启动计算模拟器,然后提示我是否要允许计算模拟器进行通信通过Windows防火墙。启用此功能后,我便能够像往常一样再次使用VS(2017),而不会出错。