无法在从VS2015到VS2017的ASP.Net核心迁移中加载文件或程序集'System.Diagnostics.DiagnosticSource

Gar*_*vis 13 authentication facebook-login asp.net-core visual-studio-2017

我在ASP.Net Core(4.6.1框架)中有一个Web,它使用我在Visual Studio 2015中创建的Facebook和MS外部登录,并在昨天发布的新Visual Studio 2017中打开.VS2017做了一些与csproj,project.json等文件相关的更改.

除了一部分外,该网站编译并执行得很好.如果我做了Facebook或Microsoft外部登录,该网站显示此陷阱:

FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

System.Net.Http.WinHttpHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
AggregateException: Unhandled remote failure.

Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler+<HandleRemoteCallbackAsync>d__6.MoveNext()
Run Code Online (Sandbox Code Playgroud)

浏览器中的URL显示它正在尝试从外部登录返回到本地(https:// localhost:44321/signin-facebook?code = ...或/ signin-microsoft).

System.Diagnostics.DiagnosticSource.dll(和System.Net.Http.dll)的版本号是4.6.24705.1.

我从头开始了一个新的VS2017项目,添加了Facebook和MS登录,它运行正常 - 让我登录而没有陷阱.这些dll是相同的版本.

比较两个csproj文件显示差异,但没有明显的(没有任何与系统dll相关):

csproj文件的差异

Hau*_*man 33

为我解决的是将System.Net.Http(版本4.3.1)的NuGet引用添加到新迁移的项目中. https://www.nuget.org/packages/System.Net.Http/

  • 谢谢,我今天遇到相同的错误,将项目升级到VS2017 (2认同)
  • 这个错误也打击了我们。这是GitHub上的一个相关错误,可供参考:https://github.com/aspnet/JavaScriptServices/issues/487 (2认同)

小智 13

在参考文献“System.Diagnostics.DiagnosticSource”未包含在解决方案中

在 NUget 中安装“System.Diagnostics.DiagnosticSource”的最新版本“5.0.1”解决了我的问题。希望它也能解决你的问题。


Byn*_*nho 8

推荐的答案没有解决我的问题。尝试在 .Net Core 2 项目中引用 .Net 4.6.2 库时出现此错误。

为了解决这个问题,我不得不添加 Microsoft.Windows.Compatibility nuget 包。归功于:https : //medium.com/@ans_ashkan/asp-net-core-and-windows-event-log-75770a80a666

  • 救星!我因为 nuget 更新了一个包而感到沮丧,这让我解决了问题! (2认同)

boy*_*bas 7

我遇到了同样的问题,奇怪的是,更新Microsoft.ApplicationInsights版本后问题得到解决。2.20.0 是合适的版本(对我来说)。我不知道这些包之间的联系,但这就是发生的事情。

  • 将 Microsoft.ApplicationInsights 升级到 2.21.0,它对我有用 (2认同)