【问题标题】:Scripts fail with error that Microsoft.ServiceFabric.Internal.Strings.dll is unavailable when "Microsoft Service Fabric" is installed安装“Microsoft Service Fabric”时,脚本失败并显示 Microsoft.ServiceFabric.Internal.Strings.dll 不可用的错误
【发布时间】:2017-09-06 23:56:06
【问题描述】:

升级到最新的工具、运行时和 SDK (5.5.216.0) 后,PowerShell 脚本(例如 TestConfiguration.ps1)失败,并出现 Microsoft.ServiceFabric.Internal.Strings.dll 版本 5.0.0.0 无法运行的错误成立。一旦我从控制面板中卸载“Microsoft Service Fabric”,它就可以正常工作。此行为似乎与 5.5.216.0 中已解决的 Newtonsoft.Json.dll 问题非常相似,只是这次使用了不同的程序集。

这是一个已知问题吗?

当我运行某些脚本时必须卸载“Microsoft Service Fabric”,然后必须为需要它的其他人重新安装它,这很快就会变得乏味。

错误示例:

PS C:\git\sf-admin\DeploymentScripts\Microsoft.Azure.ServiceFabric.WindowsServer> .\TestConfiguration.ps1 ..\ClusterConfig.Production.Shared.json 跟踪文件夹不存在。创建跟踪文件夹:C:\git\sf-admin\DeploymentScripts\Microsoft.Azure.ServiceFabric.WindowsServer\DeploymentTraces 运行最佳实践分析器... 未找到独立软件包相关文件。检查包结构。错误:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.ServiceFabric.Internal.Strings,版本=5.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或打开 e 的依赖项。该系统找不到指定的文件。 文件名:'Microsoft.ServiceFabric.Internal.Strings,版本 = 5.0.0.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35' 在 Microsoft.ServiceFabric.ClusterManagementCommon.ValidatorExtensions.ThrowValidationExceptionIfNull[T](T 参数,字符串参数名称) 在 Microsoft.ServiceFabric.DeploymentManager.BPA.BestPracticesAnalyzer.IsJsonConfigModelValid(StandAloneInstallerJsonModelBase 配置)

谢谢, 汉斯

【问题讨论】:

    标签: azure-service-fabric


    【解决方案1】:

    我相信您会因为 SDK/Runtime 将 dll 安装到 GAC 中而收到该错误。

    尝试运行将您的 Microsoft.Azure.ServiceFabric.WindowsServer 文件夹移动到另一台计算机并再次运行 TestConfiguration.ps1。

    如果您在没有互联网访问权限的机器上运行脚本,那么您需要指定包含运行时的 .cab 的位置

    -FabricRuntimePackagePath C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer.5.5.216.0\MicrosoftAzureServiceFabric5.5.216.0.cab
    

    【讨论】:

    • 谢谢,芬妮。是的,在另一台机器上运行它是可行的,但我的观点是,我必须在没有“Microsoft Service Fabric”的机器上运行某些脚本而安装了一些脚本,这非常糟糕。我们希望为所有 SF 相关脚本配备一台部署机器。我将不得不尝试现在的最新版本,看看它是否已得到解决。
    • 一点也不反对你。在您的方案中,您的“部署机器”上不应安装 Service Fabric。我相信它只需要 SDK,它就是运行你的脚本的那台机器。就我个人而言,我的印象是脚本需要在每个带有服务结构的盒子上运行,事实并非如此。
    猜你喜欢
    • 2017-06-17
    • 2021-12-05
    • 2019-12-23
    • 2021-01-12
    • 2015-12-24
    • 1970-01-01
    • 2022-11-24
    • 2021-04-16
    • 2019-03-14
    相关资源
    最近更新 更多