ASP.NET Core 1.0 RC1-Update1,System.IO.FileNotFoundException:无法加载文件或程序集> ' Newtonsoft.Json

时间:2016-03-12 04:22:05

标签: json.net asp.net-core asp.net-core-mvc asp.net-core-1.0

我收到以下错误,但仅限于生产环境。在开发环境中,应用程序本地运行没有问题。

我的应用程序中没有任何地方引用Json Version 6.0.0

更新:我可以通过PUBLISHING(VS2015)在本地重新发送此错误到本地驱动器,并在本地运行approot / web.cmd。所以问题可能在于发布。

问题:如何解决此问题?

  

System.IO.FileNotFoundException:无法加载文件或程序集   ' Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,   公钥= 30ad4fe6b2a6aeed'或其中一个依赖项。该   系统找不到指定的文件。文件名:' Newtonsoft.Json,   Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'
  在   Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load(流   流)   Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load()   在   Microsoft.Extensions.Configuration.ConfigurationBuilder.Add(IConfigurationProvider   提供者)   Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder   configurationBuilder,String path,Boolean optional)at   Microsoft.AspNet.Hosting.WebApplication.Run(类型startupType,String []   args)at Microsoft.AspNet.Server.Kestrel.Program.Main(String []   参数)   ---从抛出异常的先前位置开始的堆栈跟踪结束--- at   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at   Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(大会   assembly,String [] args,IServiceProvider serviceProvider)at   Microsoft.Dnx.ApplicationHost.Program<> c__DisplayClass3_0.b__0()   在System.Threading.Tasks.Task`1.InnerInvoke()at   System.Threading.Tasks.Task.Execute()

     

===预绑定状态信息===日志:DisplayName = Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed   (完全指定)LOG:Appbase =   文件:/// C:/inetpub/_ALPHA/approot/runtimes/dnx-clr-win-x86.1.0.0-rc1-update1/bin/   日志:初始PrivatePath = NULL调用程序集:(未知)。   ===日志:此绑定在默认加载上下文中启动。日志:找不到应用程序配置文件。日志:使用主机配置文件:LOG:   使用来自的机器配置文件   C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ CONFIG \ machine.config中。   日志:政策后参考:Newtonsoft.Json,版本= 6.0.0.0,   Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed日志:Fusion是   主办。检查主机有关此程序集。日志:尝试主机组装商店   使用程序集newtonsoft.json,version = 6.0.0.0,culture = neutral,   publickeytoken = 30ad4fe6b2a6aeed,processorarchitecture = x86。日志:试试   使用程序集newtonsoft.json的主机程序集商店,版本= 6.0.0.0,   culture = neutral,publickeytoken = 30ad4fe6b2a6aeed,   ProcessorArchitecture用于= MSIL。日志:尝试使用程序集进行主机装配   newtonsoft.json,version = 6.0.0.0,culture = neutral,   公钥= 30ad4fe6b2a6aeed。警告:主机装配商店没有   包含这个程序集。日志:尝试下载新网址   文件:/// C:/inetpub/_ALPHA/approot/runtimes/dnx-clr-win-x86.1.0.0-rc1-update1/bin/Newtonsoft.Json.DLL。   日志:尝试下载新网址   文件:/// C:/inetpub/_ALPHA/approot/runtimes/dnx-clr-win-x86.1.0.0-rc1-update1/bin/Newtonsoft.Json/Newtonsoft.Json.DLL。   日志:尝试下载新网址   文件:/// C:/inetpub/_ALPHA/approot/runtimes/dnx-clr-win-x86.1.0.0-rc1-update1/bin/Newtonsoft.Json.EXE。   日志:尝试下载新网址   文件:/// C:/inetpub/_ALPHA/approot/runtimes/dnx-clr-win-x86.1.0.0-rc1-update1/bin/Newtonsoft.Json/Newtonsoft.Json.EXE

2 个答案:

答案 0 :(得分:0)

新的dt.time已经与ASP.NET Core支持一起发布。

答案 1 :(得分:-1)

更新:我认为这与此处描述的错误(https://github.com/aspnet/Tooling/issues/45)有关,该错误与解决方案中创建项目的顺序有关。在这种情况下,我从.NET 4.5.1类库开始,然后添加了ASP.NET Core 1.0 WebAPI项目。出于某种原因,每当我添加我的类库时,Json.NET都会被添加到项目中,但版本号为1.0。

我的解决方案是从表单开始解决问题。这次我从WebAPI项目开始,然后在类库中添加,然后引用WebAPI项目中的类库,现在它显示了Json.NET 8.0.2。

我希望Microsoft能够修复此错误,因为您应该能够将ASP.NET核心应用程序添加到现有解决方案而不会出现任何问题,不幸的是目前情况并非如此,