我收到以下错误,但仅限于生产环境。在开发环境中,应用程序本地运行没有问题。
我的应用程序中没有任何地方引用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
答案 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核心应用程序添加到现有解决方案而不会出现任何问题,不幸的是目前情况并非如此,