升级到最新工具,运行时和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,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或者 它的依赖关系。该系统找不到指定的文件。 文件名:'Microsoft.ServiceFabric.Internal.Strings,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35' at Microsoft.ServiceFabric.ClusterManagementCommon.ValidatorExtensions.ThrowValidationExceptionIfNull [T](T parameter,String parameterName) 在Microsoft.ServiceFabric.DeploymentManager.BPA.BestPracticesAnalyzer.IsJsonConfigModelValid(StandAloneInstallerJsonModelBase config)
谢谢, 汉斯
答案 0 :(得分:0)
我相信你得到的错误是由于SDK / Runtime安装了正在接收的GAC的dll。
尝试将Microsoft.Azure.ServiceFabric.WindowsServer文件夹移动到另一台计算机并再次运行TestConfiguration.ps1。
如果您从没有互联网访问权限的盒子中运行脚本,那么您需要指定包含运行时的.cab的位置
-FabricRuntimePackagePath C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer.5.5.216.0\MicrosoftAzureServiceFabric5.5.216.0.cab