Azure存储模拟器错误,并不会启动

这个错误真的让我发疯。 (terminal以pipe理员模式运行)

在sql server 2014中初始化azure存储模拟器:

C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage emulator init -server MY-PC Windows Azure Storage Emulator 3.0.0.0 command line tool The storage emulator was successfully initialized and is ready to use. 

启动服务器时出错:

 C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage emulator start Windows Azure Storage Emulator 3.0.0.0 command line tool Unhandled Exception: System.TimeoutException: Unable to open wait handle. at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll er.InternalWaitForStorageEmulator(Int32 timeoutInMilliseconds) at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll er.EnsureRunning(Int32 timeoutInMilliseconds) at Microsoft.WindowsAzure.Storage.Emulator.StartCommand.RunCommand() at Microsoft.WindowsAzure.Storage.Emulator.Program.Main(String[] args) 

检查您是否使用端口10000运行BitTorrent / uTorrent或类似的软件

检查Steve Marx关于这个问题的博客文章。 http://blog.smarx.com/posts/windows-azure-storage-emulator-the-process-cannot-access-the-file-because-it-is-being-used-by-another-process

如果该post消失,则检查是否有其他软件正在使用该端口的命令是:

 C:\Users\smarx>netstat -p tcp -ano | findstr :10000 TCP 127.0.0.1:10000 0.0.0.0:0 LISTENING 3672 

Azure工具更新(2.3版本)后,我有同样的问题。 经过数小时的研究,我发现奇怪的解决scheme – 将“启动Windows Azure存储模拟器”设置为“False”(在Azure项目的属性中)。

确保初始化模拟器的用户与启动模拟器的用户相同。 请注意,如果您作为不同的用户提升运行初始化,则初始化仅适用于该用户。

如果这没有帮助,可以尝试使用-inprocess标志启动模拟器以获取更详细的错误消息:

 WAStorageEmulator start -inprocess 

另一种方法是更改​​模拟器在存储模拟器目录中的configuration文件中使用的ip绑定。

findwastorageemulator.exe.config并更改

 <services> <service name="Blob" url="http://127.0.0.1:10000/"/> <service name="Queue" url="http://127.0.0.1:10001/"/> <service name="Table" url="http://127.0.0.1:10002/"/> </services> 

这将是有用的,如果另一个应用程序已经在使用该端口,你不能卸载。

总结并添加其他答案来解决这个问题。

在记事本或记事本++编辑器中打开C:\ Program Files(x86)\ Microsoft SDK \ Azure \ Storage Emulator \ AzureStorageEmulator.exe文件。 看看服务部分。

 <services> <service name="Blob" url="http://127.0.0.1:10000/"/> <service name="Queue" url="http://127.0.0.1:10001/"/> <service name="Table" url="http://127.0.0.1:10002/"/> </services> 

尝试在networking浏览器中打开“Blob”的URL。 在我的情况是这样的

 http://127.0.0.1:10000/ 

如果您无法打开URL或发生错误,这就是无法启动Azure存储模拟器的原因。

尝试以下步骤来解决问题。

1)检查端口10000是否忙或被其他进程使用。

要知道这个,你可以在命令提示符下键入下面的命令

 netstat -na | find "10000" 

杀死进程。

现在在进程模式下启动Azure存储模拟器

在Azure存储模拟器的命令提示符下键入

AzureStorageEmulator.exe start -inprocess

然后按Ctrl + C

AzureStorageEmulator.exe start

如果这不能解决问题,请尝试第二步。

2)运行这个

 netsh http add iplisten 127.0.0.1 

然后在Azure存储模拟器的命令提示符下键入

 AzureStorageEmulator.exe start -inprocess 

然后按Ctrl + C

 AzureStorageEmulator.exe start 

这里有一些信息可能有帮助:

http://wintellect.com/blogs/jlane/initializing-the-microsoft-azure-sdk-2.3-storage-emulator

WAStorageEmulator.exe init -server MyMachine -sqlinstance -forcecreate -inprocess

我最近发生了这种情况,这是因为我最近安装了HDInsight仿真器。 看来这是自动启动存储模拟器导致错误,当VS试图启动它导致错误。

在这种情况下,将“启动Microsoft Azure存储模拟器”值设置为False也起作用。

我遇到了同样的问题。 我发现,端口10000正在被另一个进程使用。 在我的情况下,utorrent正在使用它。 这可能是Bittorrent,如果这就是你正在使用的。 卸载后,它开始顺利修改我的数据。

如果您的torrent下载器对您意义重大,您可以考虑从这个angular度解决您的问题。 我希望这个工程。

对于新发布的documentdb模拟器的用户… Microsoft认为documentdb模拟器使用与存储模拟器相同的端口是一个好主意;)访问存储的唯一方法是closuresdocumentdb模拟器并重新启动Visual Studio瞧,你可以再次使用它:facepalm:

尝试运行命令提示符并input:“以pipe理员身份运行”,然后运行以下命令: C:\ Program Files(x86)\ Microsoft SDKs \ Azure \ Storage Emulator> AzureStorageEmulator.exe start

那为我做了诡计!

我有同样的问题,因为我不得不重新join我的机器到域和用户configuration文件重新创build。 我注意到,它是从提升cmd选项-inprocess开始的。 然后我意识到,它必须与urlac做,我解决了删除旧的与以下命令:

 (from elevated cmd) netsh http delete urlacl url=http://127.0.0.1:10000/ netsh http delete urlacl url=http://127.0.0.1:10001/ netsh http delete urlacl url=http://127.0.0.1:10002/ 

之后,像往常一样开始,该工具将重新创build必要的东西。 现在我可以使用它,而不用提升。