Could not load file or assembly 'System.Diagnostics.DiagnosticSource on ASP.Net Core migration from VS2015 to VS2017

13

I have a web in ASP.Net Core (4.6.1 framework) that uses Facebook and MS external login that I created with Visual Studio 2015 and opened in the new Visual Studio 2017 that came out yesterday. VS2017 made a few changes related to the csproj, project.json, etc files.

The site compiled and executed fine except for one part. If I did a Facebook or Microsoft external login, the site displayed this trap:

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()

The url in the browser showed that it was attempting to return from the external login to the local (https://localhost:44321/signin-facebook?code=... or /signin-microsoft).

The version number of the System.Diagnostics.DiagnosticSource.dll (and System.Net.Http.dll) is 4.6.24705.1.

I started a new VS2017 project from scratch with Facebook and MS login added and it worked fine - getting me logged on without the trap. The dll's were the same versions.

Comparing the two csproj files showed differences but nothing obvious (nothing related to System dlls):

Differences in csproj file

authentication
asp.net-core
facebook-login
visual-studio-2017
asked on Stack Overflow Mar 8, 2017 by GarDavis • edited Mar 9, 2017 by GarDavis

4 Answers

35

What solved it for me was to add a NuGet reference to System.Net.Http (version 4.3.1) to the newly migrated project. https://www.nuget.org/packages/System.Net.Http/

answered on Stack Overflow Mar 9, 2017 by Haukman
6

The recommended answer did not resolve my issue. I was getting this error when trying to reference a .Net 4.6.2 lib in a .Net Core 2 project.

To resolve the issue I had to add the Microsoft.Windows.Compatibility nuget package. Credit to: https://medium.com/@ans_ashkan/asp-net-core-and-windows-event-log-75770a80a666

answered on Stack Overflow Apr 24, 2019 by Bynho
1

People using .NET Core web applications monitored with Application Insights hosted in App Services facing this issue

This when .NET Core web application has a dependency on 'System.Diagnostics.DiagnosticSource%u2019 binary and has this binary file deployed to /wwwroot/ folder, which is rare.

Work Around: Please set previous version of monitoring extension by changing this app setting if you experience the above issue: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24

After doing this please restart the application.

Here is the source

answered on Stack Overflow Nov 15, 2019 by Dakshal Raijada
0

In References 'System.Diagnostics.DiagnosticSource' not included in solution

On installing latest version "5.0.1" of 'System.Diagnostics.DiagnosticSource' in NUget solved my issue. Hope it will fix yours also.

answered on Stack Overflow Jan 13, 2021 by Fayazz B N

User contributions licensed under CC BY-SA 3.0