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核心库一样。我糊涂了。
答案 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 ”。然后它工作正常。
看起来,就像他们试图在.net框架应用程序中使用.net核心库一样。
您可以在此Nuget link,.NET Core或Web作业库中看到包中的依赖项。 .net 4.6.1(不是4.6.0)支持.NET Standard 2.0。您可以阅读此article以了解有关.NET标准版本兼容性的更多信息。