Service Fabric 项目无法添加对 Microsoft.ApplicationInsights.ServiceFabric.Native 的引用

Posted

技术标签:

【中文标题】Service Fabric 项目无法添加对 Microsoft.ApplicationInsights.ServiceFabric.Native 的引用【英文标题】:Service Fabric project fail to add reference to Microsoft.ApplicationInsights.ServiceFabric.Native 【发布时间】:2019-01-09 20:19:34 【问题描述】:

我正在开发一个将 Service Fabric 用于微服务的项目。我对 ServiceFabric 很陌生,我的第一个任务是使用 ApplicationInsight 从 Service Fabric 应用程序收集遥测数据。所以我应该使用 Microsoft.ApplicationInsights.ServiceFabric.Native 包,因为它可以通过遥测捕获 SF 上下文数据。我还指的是https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-tutorial-monitoring-aspnet 文档。

作为第一步,我使用默认模板创建了一个示例无状态 SF 项目并配置了 Application Insight。然后我尝试按照文档安装 Microsoft.ApplicationInsights.ServiceFabric.Native 包。但我收到以下错误:

Install-Package : NU1107: Version conflict detected for Microsoft.ServiceFabric.Diagnostics.Internal. Reference the package directly from the project to resolve this issue. 
 BasicCalculatorService -> Microsoft.ServiceFabric.Services 3.2.162 -> Microsoft.ServiceFabric.Diagnostics.Internal (= 3.2.162) 
 BasicCalculatorService -> Microsoft.ApplicationInsights.ServiceFabric.Native 2.1.1 -> Microsoft.ServiceFabric.Services.Remoting 3.0.467 -> Microsoft.ServiceFabric.Diagnostics.Internal (= 
3.0.467).
At line:1 char:1
+ Install-Package Microsoft.ApplicationInsights.ServiceFabric.Native -V ...

似乎 Microsoft.ServiceFabric.Diagnostics.Internal 未在 Microsoft.ApplicationInsights.ServiceFabric.Native 包上更新以与 SF 一起使用。

我该如何进行呢?我应该单独下载 NuGet 包并手动引用程序集吗?

【问题讨论】:

【参考方案1】:

在文档中,有一个明确的注释说:

您可能需要安装 Microsoft.ServiceFabric.Diagnistics.Internal 包中的类似 如果在安装 Application Insights 之前未预装时尚 包

这意味着,他们知道这个问题,但会让你发现它。 :)

Microsoft.ServiceFabric.Diagnistics.Internal 是隐式依赖于 Microsoft.ServiceFabric.Services,因为两者都是隐式的并且针对不同的版本,你必须明确声明你要为两者使用哪一个。

在这种情况下,您应该在安装包Microsoft.ApplicationInsights.ServiceFabric.Native之前添加包Microsoft.ServiceFabric.Diagnostics.Internal 3.2.162

请记住,因为它们针对不同的版本,您可能会在运行时遇到问题,理想的情况是两者都在同一个版本上。

【讨论】:

以上是关于Service Fabric 项目无法添加对 Microsoft.ApplicationInsights.ServiceFabric.Native 的引用的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Visual Studio 2019 中打开 Service Fabric 项目

无法选择 .NET Core 作为 Service Fabric 应用程序的框架

无法将 Service Fabric 应用程序部署到开发/本地群集

是否可以添加或删除 Service Fabric 有状态服务命名分区

Service Fabric 证书交换。应用程序无法激活

Azure Service Fabric:无法运行本地 Service Fabric 群集