我无法运行ServiceFabric的任何示例。
我使用的是Windows 8.1,VS 2015社区版(作为管理员运行)。 ServiceFabric SDK安装在默认位置。
我收到带有以下堆栈跟踪的FileNotFoundException:
at System.Fabric.Data.Log.Interop.NativeLog.IKPhysicalLogManager.EndOpenLogContainer(IFabricAsyncOperationContext Context, IKPhysicalLogContainer& Result)
at System.Fabric.Data.Log.Interop.PhysicalLogManager.OpenContainerEndWrapper(IFabricAsyncOperationContext Context)
at System.Fabric.Data.Log.Interop.PhysicalLogManager.<OpenLogContainerAsync>b__5(IFabricAsyncOperationContext Context)
at System.Fabric.Interop.AsyncCallOutAdapter2`1.Finish(IFabricAsyncOperationContext context, Boolean expectedCompletedSynchronously)
一旦我遇到此异常并且我停止调试,我甚至无法成功部署,直到我选择了#34;重置本地群集&#34; Service Fabric SDK系统托盘图标中的选项。
我尝试卸载并重新安装,在示例中查找硬编码路径。
我能够在不同的计算机上运行示例,但这是我的主要开发框。在这两种情况下,我只是安装了VS 2015 Community Edition,SDK,然后尝试运行示例。我按照MSND论坛的建议将ServiceFabric路径移动到PATH变量的开头,以避免与名为zip.dll的文件发生冲突。
答案 0 :(得分:1)
有同样的问题。检查了以下建议:https://github.com/Azure/azure-content/blob/master/articles/service-fabric/service-fabric-diagnostics-troubleshoot-common-scenarios.md
...关于de FileNotFoundException,但一切都是Copy Local。似乎无法找到丢失的文件。我正在运行所有的第一个样本:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-create-your-first-application-in-visual-studio/。
在我的情况下,我在Windows 10中运行VS2015 Enterprise,并安装了Azure SDK 2.8.2。正如一些帖子所暗示的那样,我不止一次重启,但无济于事。这里有一个帖子https://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-services-quick-start/,其中也讨论了这个问题,但没有提出解决方案。
<强> [编辑] 强> 找到问题的解决方案。显然,Service Fabric需要8Gb的可用空间。在释放空间后,服务似乎运行良好。提示隐藏在许多事件日志消息之一中:
(粗体文字表示:“磁盘空间不足”)。
AsyncCalloutAdapter-58892413:end delegate抛出异常 System.Fabric.FabricException:此操作期间发生错误。请查看跟踪日志以获取更多详细信息。 ---&GT; System.Runtime.InteropServices.COMException:Nãoexisteespaçosuficienteno disco 。 (ExcepçãodeHRESULT:0x80070070) em System.Fabric.Data.Log.Interop.NativeLog.IKPhysicalLogManager.EndCreateLogContainer(IFabricAsyncOperationContext Context,IKPhysicalLogContainer&amp; Result) em System.Fabric.Data.Log.Interop.PhysicalLogManager.b__1(IFabricAsyncOperationContext Context) em System.Fabric.Interop.AsyncCallOutAdapter2`1.Finish(IFabricAsyncOperationContext context,Boolean expectedCompletedSynchronously) --- Fim do rastreio da pilhadeexpertyçãointerna---