昨天我用最新的更新(现在发布于26403.0)更新了VS2017。由于这样做,我有一些Service Fabric问题:
通过使用WebPI再次安装最新的核心/ SDK来解决这个问题。
使用VS F5构建,我可以在默认的C驱动器上创建一个群集并运行我的应用程序。但是,我通常使用此Powershell命令将其移动到D驱动器,在那里我有更多空间。但这不再有效:
& "C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1" -PathToClusterDataRoot d:\SfDevCluster\data -PathToClusterLogRoot d:\SfDevCluster\log -Auto -CreateOneNodeCluster
自更新以来,我现在收到此错误:
Cluster manifest validation failed with exception System.ArgumentException: Error occurs in section Diagnostics, parameter System.Fabric.Management.ServiceModel.SettingsOverridesTypeSectionParameter. The error message is System.ArgumentException: Section Diagnostics parameter EnableCircularTraceSession found in cluster manifest but not Configurations.csv in system.fabric.management.dll.
at System.Fabric.Management.WindowsFabricValidator.WindowsFabricSettings.MergeConfigurationsAndClusterManifest(Dictionary`2 configurations, Dictionary`2 clusterManifest, Boolean skipValidation)
at System.Fabric.Management.WindowsFabricValidator.WindowsFabricSettings.MergeConfigurationsAndClusterManifest(Dictionary`2 configurations, Dictionary`2 clusterManifest, Boolean skipValidation)
at System.Fabric.Management.WindowsFabricValidator.WindowsFabricSettings..ctor(ClusterManifestType manifest, Boolean skipValidation)
at System.Fabric.FabricDeployer.FabricValidatorWrapper.ValidateAndEnsureDefaultImageStore() Test-ServiceFabricClusterManifest : Cluster manifest validation failed with exception System.ArgumentException: Error occurs in section Diagnostics, parameter System.Fabric.Management.ServiceModel.SettingsOverridesTypeSectionParameter. The error message is System.ArgumentException: Section Diagnostics parameter EnableCircularTraceSession found in cluster manifest but not Configurations.csv in system.fabric.management.dll.
at System.Fabric.Management.WindowsFabricValidator.WindowsFabricSettings.MergeConfigurationsAndClusterManifest(Dictionary`2 configurations, Dictionary`2 clusterManifest, Boolean skipValidation)
at System.Fabric.Management.WindowsFabricValidator.WindowsFabricSettings.MergeConfigurationsAndClusterManifest(Dictionary`2 configurations, Dictionary`2 clusterManifest, Boolean skipValidation)
at System.Fabric.Management.WindowsFabricValidator.WindowsFabricSettings..ctor(ClusterManifestType manifest, Boolean skipValidation)
at System.Fabric.FabricDeployer.FabricValidatorWrapper.ValidateAndEnsureDefaultImageStore()
At C:\Program Files\Microsoft SDKs\Service Fabric\Tools\Scripts\ClusterSetupUtilities.psm1:406 char:5
+ Test-ServiceFabricClusterManifest -ClusterManifestPath "$manifest ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Test-ServiceFabricClusterManifest], ClusterManifestValidationException
+ FullyQualifiedErrorId : TestClusterManifestErrorId,Microsoft.ServiceFabric.Powershell.TestClusterManifest
此外,自更新以来,当我从调用SF状态服务的ASP.NET核心无状态服务调用方法时,我也收到运行时引用错误。这只发生在我的ASP.NET核心项目中,我在同一解决方案中的另一个Web Api 2项目能够调用相同的有状态服务方法没问题。我不确定这与VS更新有什么关系,但它并没有发生在最新更新前。我的解决方案中的所有项目都加载了Newtonsoft.Json 10.0.2(最新版本),因此我不确定10.0.0的引用位置。我将对此部分进行更多调查 - 只是认为如果其他人在更新VS后遇到类似问题可能会有所帮助。
{"Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"}
非常感谢任何帮助!