由于缺少引用,无法为azure webjob添加应用程序洞察支持

时间:2018-01-21 20:00:05

标签: c# .net azure-webjobs azure-application-insights

Visual Studio VS 2017,v.15.4.5 由于.net核心的webjob尚不可用,我正在为.net框架4.6.1创建它: 新建 - 项目 - Visual C# - 云 - Azure WebJob(.NET Framework)

然后我按照https://github.com/Azure/azure-webjobs-sdk/wiki/Application-Insights-Integration的说明并添加Microsoft.Azure.WebJobs.Logging.ApplicationInsights v.3.0.0-beta4:

尝试针对项目'WebJob2'收集程序包'Microsoft.Azure.WebJobs.Logging.ApplicationInsights.3.0.0-beta4'的依赖关系信息,目标是'.NETFramework,Version = v4.6.1'

它做了很多事情,但最后在解决方案资源管理器\引用中一切看起来都很好,除了两个标记为缺失的dll:

  • (缺失)System.Diagnostics.TraceSource

  • (缺失)System.Threading.Thread

Packages.config包含以下行:

<package id="System.Diagnostics.TraceSource" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Thread" version="4.3.0" targetFramework="net461" />

但看起来这两个包都不支持4.6.1 (如果我切换到框架4.6一切都很好,缺少引用,但我不能使用ILoggerFactory,这是AppInsights集成的必要部分,需要支持net standard 2.0)

有人可以建议,如何解决这种情况? 看起来,就像他们试图在.net框架应用程序中使用.net核心库一样。我糊涂了。

1 个答案:

答案 0 :(得分:0)

  

它做了很多事情,但最后在解决方案资源管理器\引用中一切看起来都很好,除了两个标记为缺失的dll。

根据您的步骤,我还创建了一个Web作业项目(.net 4.6.1)。在工具&gt; Nuget包管理&gt;包管理器控制台中,我输入以下命令,然后包中包含除dll之外的两个。

Install-Package Microsoft.Azure.WebJobs.Logging.ApplicationInsights -Version 3.0.0-beta4

但是AddConsole方法无法在我的项目中使用。所以我还需要在Manage Nuget包中添加“ Microsoft.Extensions.Logging.Console ”。然后它工作正常。

enter image description here

  

看起来,就像他们试图在.net框架应用程序中使用.net核心库一样。

您可以在此Nuget link,.NET Core或Web作业库中看到包中的依赖项。 .net 4.6.1(不是4.6.0)支持.NET Standard 2.0。您可以阅读此article以了解有关.NET标准版本兼容性的更多信息。