在本地部署 Service Fabric 项目:“FABRIC_E_IMAGEBUILDER_UNEXPECTED_ERROR”
Posted
技术标签:
【中文标题】在本地部署 Service Fabric 项目:“FABRIC_E_IMAGEBUILDER_UNEXPECTED_ERROR”【英文标题】:Deploying Service Fabric project locally: "FABRIC_E_IMAGEBUILDER_UNEXPECTED_ERROR" 【发布时间】:2020-02-15 19:20:24 【问题描述】:我们公司从 Service Fabric 微服务开始。
我们按照 MS 文档 (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started) 的说明安装 Azure Service Fabric SDK。我们从 de WebPI 安装它,以管理员身份打开 powershell,然后运行“Set-ExecutionPolicy”命令。 稍后我们在 Visual Studio 中安装 Azure 工具,然后我们可以创建一个示例项目,即无状态项目。
在项目加载所有依赖项之后,我们立即“启动”项目。 (VS 以管理员身份运行) VS 将本地集群设置为 1 个节点并部署微服务。至此一切正常。
然后我们创建另一个无状态项目,我们做了同样的事情。但是,这次我们在 VS 的输出控制台和 Service Fabric Explorer 中遇到了错误。
2>Started executing script 'Deploy-FabricApplication.ps1'.
2>powershell -NonInteractive -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command ". 'C:\Users\xxxxx\source\repos\Application2\Application2\Scripts\Deploy-FabricApplication.ps1' -ApplicationPackagePath
'C:\Users\xxxxx\source\repos\Application2\Application2\pkg\Debug' -PublishProfileFile
'C:\Users\xxxx\source\repos\Application2\Application2\PublishProfiles\Local.1Node.xml' -DeployOnly:$true -ApplicationParameter:@_WFDebugParams_='["""CodePackageName""":"""Code""","""CodePackageLinkFolder""":"""C:\\Users\\xxxx\\source\\repos\\Application2\\Actor1\\bin\\Debug\\netcoreapp3.0\\win7-
x64""","""ConfigPackageName""":"""Config""","""ConfigPackageLinkFolder""":"""C:\\Users\\xxx\\source\\repos\\Application2\\Actor1\\PackageRoot\\Config""","""DataPackageName""":null,"""DataPackageLinkFolder""":null,"""LockFile""":"""C:\\Users\\xxxx\\source\\repos\\Application2\\Actor1\\bin\\Debug\\netcoreapp3.0\\win7-x64\\_VS_ServiceFabric_lock.txt""","""WorkingFolder""":"""C:\\Users\\xxxx\\source\\repos\\Application2\\Actor1""","""ServiceManifestName""":"""Actor1Pkg""",
"""EntryPointType""":"""Main""","""DebugExePath""":null,"""DebugArguments""":null,"""DebugParametersFile""":"""C:\\Users\\xxx\\source\\repos\\Application2\\
Actor1\\bin\\Debug\\netcoreapp3.0\\win7-x64\\_VS_ServiceFabric_debug.txt"""]' -
UnregisterUnusedApplicationVersionsAfterUpgrade $false -
OverrideUpgradeBehavior 'None' -OverwriteBehavior 'Always' -
SkipPackageValidation:$true -ErrorAction Stop"
2>Copying application to image store...
2>Upload to Image Store succeeded
2>Registering application type...
2>Register application type started. Use Get-ServiceFabricApplicationType to query for status.
2>Running Image Builder process ...
2>Downloading application package from 'Application2Type' ...
2>Validating package and computing checksums ...
2>FABRIC_E_IMAGEBUILDER_UNEXPECTED_ERROR: Se han producido uno o varios errores. --> AggregateException: Se han producido uno o varios errores. --> FileLoadException: El proceso no tiene acceso al archivo porque est siendo utilizado por otro proceso. (Excepci¢n de HRESULT: 0x80070020)
2>Registration of application type failed.
2>En C:\Program Files\Microsoft SDKs\Service
2>Fabric\Tools\PSModule\ServiceFabricSDK\Publish-NewServiceFabricApplication.ps1: 308 Car cter: 17
2>+ throw "Registration of application type failed."
2>+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2> + CategoryInfo : OperationStopped: (Registration of application type failed.:String) [], RuntimeException
2> + FullyQualifiedErrorId : Registration of application type failed.
2>
2>Finished executing script 'Deploy-FabricApplication.ps1'.
2>Time elapsed: 00:00:13.0719235
2>The PowerShell script failed to execute.
========== Build: 1 succeeded, 0 failed, 2 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
我们重置了集群并尝试再次部署 2 个示例,但两个微服务出现相同的错误。
我在 Google、MS Docs 和此处寻找解决方案,但没有人提供解决方案。
【问题讨论】:
【参考方案1】:根据您的日志,powershel 无法访问某些进程。作为一个非常广泛的猜测,它可能是防病毒软件或您的第一个调试会话的问题。
您是否尝试过不调试(启动 vs),而是在集群重置\重启后发布解决方案(部署项目->右键单击->发布)?
【讨论】:
是的,我只是尝试发布,但我得到了同样的错误。昨天我们只使用了另一台带有 Service Fabric SDK 和 Visual Studio 的计算机,并且运行良好。我认为某些软件正在阻止某些东西。但我们需要在其他计算机上解决。以上是关于在本地部署 Service Fabric 项目:“FABRIC_E_IMAGEBUILDER_UNEXPECTED_ERROR”的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 10 上部署 Service Fabric 应用
在 Linux 中创建 Azure Service Fabric 本地集群
Service Fabric Actors:使用最新版本的 Service Fabric nuget 包部署 Actors 时出现的问题