我们在ASP.NET核心RC1(候选版本1)上构建了一个.NET应用程序,并将其部署在Web Azure容器中的Windows Azure上。截至8月2日,该应用程序停止工作过夜。我们发现这是因为微软在那个日期停止支持RC1(以及RC2)。
奇怪的是,到今天应用程序再次开始工作,没有任何改变。
任何人都可以解释这种行为吗?我对容器环境中的这些变化感到不舒服。
注意:我应该补充一点,我们在日志文件中看到的错误就是这个错误:
MissingMethodException: Method not found: 'Newtonsoft.Json.JsonSerializerSettings Microsoft.AspNet.Mvc.MvcJsonOptions.get_SerializerSettings()'
答案 0 :(得分:2)
我可以解释发生的事情:Json.NET v6.0.4版本被错误地添加到GAC中。由于Json.NET的版本化方式,在bin文件夹中具有不同6.x版本的应用程序最终加载了GAC中的版本。您的RC1应用程序可能具有v6.0.7,并且因为v6.0.4缺少API而崩溃。
这个程序集根本不应该在GAC中,所以当我们意识到这个问题时,我们删除了它,这是你的应用程序再次开始工作的时候。为停机时间道歉。
话虽这么说,你真的应该离开RC1,这是官方支持的。