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 应用程序部署到开发/本地群集