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

时间:2017-08-02 14:49:22

标签: asp.net-core signalr

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

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

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

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

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

     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:\组织\项目&GT; dotnet --version 2.0.0-preview2-006497

PackageReference Include =&#34; Microsoft.AspNetCore.SignalR&#34;版本=&#34; 1.0.0-preview2-24707&#34; PackageReference包含=&#34; Microsoft.AspNetCore.All&#34;版本=&#34; 2.0.0-preview2-最终&#34;

1 个答案:

答案 0 :(得分:2)

在升级到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日发布),我可以让我的项目运行(不再弹出此异常)。