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

时间:2018-08-02 06:50:09

标签: .net azure-service-fabric azure-application-insights service-fabric-on-premises

我正在研究一个将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.ApplicationInsights.ServiceFabric.Native包上似乎未更新Microsoft.ServiceFabric.Diagnostics.Internal以与SF一起使用。

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

1 个答案:

答案 0 :(得分:0)

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

  

您可能需要安装   Microsoft.ServiceFabric.Diagnistics.Internal包中的类似内容   安装Application Insights之前未预先安装的方式   包装

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

Microsoft.ServiceFabric.Diagnistics.Internal 是对 Microsoft.ServiceFabric.Services ,因为两者都是隐式的并且针对不同的版本,因此您必须明确声明要同时使用两者。

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

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