8

我在使用我创建的Facebook和MS外部登录的ASP.Net Core(4.6.1框架)中有一个Web与Visual Studio 2015并在昨天推出的新的Visual Studio 2017中打开。 VS2017做了一些与csproj,project.json等文件相关的更改。无法加载ASP.Net上的文件或程序集System.Diagnostics.DiagnosticSource从VS2015到VS2017的核心迁移

该网站编译和执行良好,除了一部分。如果我做了一个Facebook或微软外部登录,该网站显示的这个陷阱:

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

在浏览器的URL表明,它试图从外部登录返回到本地(https://localhost:44321/signin-facebook?code= ...或/登入-微软)。

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

我从头开始了一个新的VS2017项目,添加了Facebook和MS登录,它工作正常 - 让我登录没有陷阱。该DLL是相同的版本。

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

Differences in csproj file

+0

你能分享一下项目文件中的差异吗?有可能某些东西会传递地引用这个程序集。 – mlorbetske

+0

添加了csproj diffs的屏幕截图。 – GarDavis

回答

25

什么解决了这个问题对我来说是添加的NuGet参考System.Net.Http(版本4.3.1)到新迁移的项目。 https://www.nuget.org/packages/System.Net.Http/

+1

谢谢,今天我把同样的错误升级到VS2017 – Gillardo

+1

这个错误也打动了我们。这里有一个关于GitHub的相关错误供参考:https://github.com/aspnet/JavaScriptServices/issues/487 – poke

+0

看起来他们的解决方案是添加System.Net.Http。 – Haukman

相关问题