У меня есть веб-сайт в ASP.Net Core (структура 4.6.1), в котором используется внешняя логика Facebook и MS, созданная с помощью Visual Studio 2015, и открытая в новой 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 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()
URL-адрес браузера показал, что он пытался вернуться из внешнего входа в локальный (https://localhost:44321/signin-facebook?code=... или /-Microsoft зарегистрировались).
Номер версии System.Diagnostics.DiagnosticSource.dll(и System.Net.Http.dll) - 4.6.24705.1.
Я начал новый проект VS2017 с нуля с добавлением в Facebook и MS, и он отлично работал - меня запустили без ловушки. Dll были одинаковыми версиями.
Сравнение двух файлов csproj показало различия, но ничего очевидного (ничего не связано с системными dll):