有一段时间我的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
答案 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
由于博客文章链接有改变的倾向,我将在此重申:
首先,我建议你查看下一个很棒的支持博客:
然后,在检查了博客文章后,您需要按照以下步骤检查哪一个是丢失或失败的WMI类:
对于这种情况,我看到有一些WMI无效的类:
运行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>
然后通过运行命令regsvr32重新注册关联的DLL
C:\Windows\System32\wbem>mofcomp.exe CimWin32.mof
答案 1 :(得分:0)
对于那些遇到此问题的人(使用最新版本的VS 2017 15.6)和DONT与此处所述的WMI有任何问题,您并不孤单:(
似乎错误已经适应,现在是由其他原因造成的。
答案 2 :(得分:0)
在最近的Windows更新之后,当我尝试运行以前没有错误运行的应用程序时,我开始看到此错误。
通过尝试使用命令csrun /devfabric /usefullemulator
以管理员身份通过Azure SDK Shell(又名“ Microsoft Azure命令提示符”)启动计算模拟器,然后提示我是否要允许计算模拟器进行通信通过Windows防火墙。启用此功能后,我便能够像往常一样再次使用VS(2017),而不会出错。