SignalR Core w / ASP.net Core 2.0 in VS 2017 15.3无法加载文件或程序集’System.Diagnostics.DiagnosticSource,Version = 4.0.2.1

SignalR Core w/ ASP.net Core 2.0 in VS 2017 15.3 Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.2.1

在运行时异常的VS 2017 15.3中,SignalR Core预先发布了ASP.net Core 2.0 ..无法加载文件或程序集'System.Diagnostics.DiagnosticSource,Version = 4.0.2.1

我在运行时获得异常而不是构建时间
抛出异常:Microsoft.AspNetCore.Hosting.dll中的"System.IO.FileLoadException"
Microsoft.AspNetCore.Hosting.dll中发生未处理的"System.IO.FileLoadException"类型的异常异常
无法加载文件或程序集'System.Diagnostics.DiagnosticSource,Version = 4.0.2.1,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

错误的代码行是......

1
2
3
4
    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();

这里是运行后构建的日志文件的摘录
dotnet build -v d> build.log

1
2
     Dependency"System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
         Could not resolve this reference. Could not locate the assembly"System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

D: org projects> dotnet --version 2.0.0-preview2-006497

PackageReference Include ="Microsoft.AspNetCore.SignalR"Version ="1.0.0-preview2-24707"
PackageReference Include ="Microsoft.AspNetCore.All"Version ="2.0.0-preview2-final"


尝试在升级到Visual Studio 15.3和.NET core 2.0之后运行WebApi应用程序时遇到了同样的错误。 我用15.3创建了一个新的WebApi项目。

我只是尝试运行Visual Studio创建的项目而得到错误。

事实证明我仍然安装了2.0 SDK的预览版本。 这导致我的项目引用了Microsoft.NETCore.App NuGet包的预览版本。

通过卸载预览SDK并安装完整的2.0 SDK(2017年8月11日发布),我能够让我的项目运行(不再弹出此异常)。